moving unit tests from .testsuite -> .beans
This commit is contained in:
parent
afa4231751
commit
b44d647dad
|
@ -16,22 +16,25 @@
|
|||
|
||||
package org.springframework.beans.factory.serviceloader;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.ServiceLoader;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||
import org.springframework.core.JdkVersion;
|
||||
|
||||
/**
|
||||
* @author Juergen Hoeller
|
||||
* @author Chris Beams
|
||||
*/
|
||||
public class ServiceLoaderTests extends TestCase {
|
||||
public class ServiceLoaderTests {
|
||||
|
||||
@Test
|
||||
public void testServiceLoaderFactoryBean() {
|
||||
if (JdkVersion.getMajorJavaVersion() < JdkVersion.JAVA_16 ||
|
||||
!ServiceLoader.load(DocumentBuilderFactory.class).iterator().hasNext()){
|
||||
|
@ -42,10 +45,11 @@ public class ServiceLoaderTests extends TestCase {
|
|||
RootBeanDefinition bd = new RootBeanDefinition(ServiceLoaderFactoryBean.class);
|
||||
bd.getPropertyValues().addPropertyValue("serviceType", DocumentBuilderFactory.class.getName());
|
||||
bf.registerBeanDefinition("service", bd);
|
||||
ServiceLoader serviceLoader = (ServiceLoader) bf.getBean("service");
|
||||
ServiceLoader<?> serviceLoader = (ServiceLoader<?>) bf.getBean("service");
|
||||
assertTrue(serviceLoader.iterator().next() instanceof DocumentBuilderFactory);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testServiceFactoryBean() {
|
||||
if (JdkVersion.getMajorJavaVersion() < JdkVersion.JAVA_16 ||
|
||||
!ServiceLoader.load(DocumentBuilderFactory.class).iterator().hasNext()){
|
||||
|
@ -59,6 +63,7 @@ public class ServiceLoaderTests extends TestCase {
|
|||
assertTrue(bf.getBean("service") instanceof DocumentBuilderFactory);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testServiceListFactoryBean() {
|
||||
if (JdkVersion.getMajorJavaVersion() < JdkVersion.JAVA_16 ||
|
||||
!ServiceLoader.load(DocumentBuilderFactory.class).iterator().hasNext()){
|
||||
|
@ -69,7 +74,7 @@ public class ServiceLoaderTests extends TestCase {
|
|||
RootBeanDefinition bd = new RootBeanDefinition(ServiceListFactoryBean.class);
|
||||
bd.getPropertyValues().addPropertyValue("serviceType", DocumentBuilderFactory.class.getName());
|
||||
bf.registerBeanDefinition("service", bd);
|
||||
List serviceList = (List) bf.getBean("service");
|
||||
List<?> serviceList = (List<?>) bf.getBean("service");
|
||||
assertTrue(serviceList.get(0) instanceof DocumentBuilderFactory);
|
||||
}
|
||||
|
|
@ -16,9 +16,12 @@
|
|||
|
||||
package org.springframework.beans.factory.support;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.util.AbstractCollection;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
|
@ -27,8 +30,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.GenericBean;
|
||||
import org.springframework.beans.GenericIntegerBean;
|
||||
import org.springframework.beans.GenericSetOfIntegerBean;
|
||||
|
@ -41,42 +43,46 @@ import org.springframework.core.io.UrlResource;
|
|||
|
||||
/**
|
||||
* @author Juergen Hoeller
|
||||
* @author Chris Beams
|
||||
* @since 20.01.2006
|
||||
*/
|
||||
public class BeanFactoryGenericsTests extends TestCase {
|
||||
public class BeanFactoryGenericsTests {
|
||||
|
||||
@Test
|
||||
public void testGenericSetProperty() {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
|
||||
Set input = new HashSet();
|
||||
Set<String> input = new HashSet<String>();
|
||||
input.add("4");
|
||||
input.add("5");
|
||||
rbd.getPropertyValues().addPropertyValue("integerSet", input);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(4)));
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(5)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericListProperty() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
|
||||
List input = new ArrayList();
|
||||
List<String> input = new ArrayList<String>();
|
||||
input.add("http://localhost:8080");
|
||||
input.add("http://localhost:9090");
|
||||
rbd.getPropertyValues().addPropertyValue("resourceList", input);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertEquals(new UrlResource("http://localhost:8080"), gb.getResourceList().get(0));
|
||||
assertEquals(new UrlResource("http://localhost:9090"), gb.getResourceList().get(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericListPropertyWithAutowiring() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
bf.registerSingleton("resource1", new UrlResource("http://localhost:8080"));
|
||||
|
@ -90,35 +96,38 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
assertEquals(new UrlResource("http://localhost:9090"), gb.getResourceList().get(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericListPropertyWithOptionalAutowiring() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class, RootBeanDefinition.AUTOWIRE_BY_TYPE);
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertNull(gb.getResourceList());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericMapProperty() {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
|
||||
Map input = new HashMap();
|
||||
Map<String, String> input = new HashMap<String, String>();
|
||||
input.put("4", "5");
|
||||
input.put("6", "7");
|
||||
rbd.getPropertyValues().addPropertyValue("shortMap", input);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertEquals(new Integer(5), gb.getShortMap().get(new Short("4")));
|
||||
assertEquals(new Integer(7), gb.getShortMap().get(new Short("6")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericListOfArraysProperty() throws MalformedURLException {
|
||||
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("genericBeanTests.xml", getClass()));
|
||||
GenericBean<?> gb = (GenericBean) bf.getBean("listOfArrays");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("listOfArrays");
|
||||
|
||||
assertEquals(1, gb.getListOfArrays().size());
|
||||
String[] array = gb.getListOfArrays().get(0);
|
||||
|
@ -128,22 +137,24 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testGenericSetConstructor() {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
|
||||
Set input = new HashSet();
|
||||
Set<String> input = new HashSet<String>();
|
||||
input.add("4");
|
||||
input.add("5");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(4)));
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(5)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericSetConstructorWithAutowiring() {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
bf.registerSingleton("integer1", new Integer(4));
|
||||
|
@ -151,37 +162,39 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class, RootBeanDefinition.AUTOWIRE_CONSTRUCTOR);
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(4)));
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(5)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericSetConstructorWithOptionalAutowiring() {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class, RootBeanDefinition.AUTOWIRE_CONSTRUCTOR);
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertNull(gb.getIntegerSet());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericSetListConstructor() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
|
||||
Set input = new HashSet();
|
||||
Set<String> input = new HashSet<String>();
|
||||
input.add("4");
|
||||
input.add("5");
|
||||
List input2 = new ArrayList();
|
||||
List<String> input2 = new ArrayList<String>();
|
||||
input2.add("http://localhost:8080");
|
||||
input2.add("http://localhost:9090");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input2);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(4)));
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(5)));
|
||||
|
@ -189,6 +202,7 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
assertEquals(new UrlResource("http://localhost:9090"), gb.getResourceList().get(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericSetListConstructorWithAutowiring() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
bf.registerSingleton("integer1", new Integer(4));
|
||||
|
@ -198,7 +212,7 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class, RootBeanDefinition.AUTOWIRE_CONSTRUCTOR);
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(4)));
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(5)));
|
||||
|
@ -206,6 +220,7 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
assertEquals(new UrlResource("http://localhost:9090"), gb.getResourceList().get(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericSetListConstructorWithOptionalAutowiring() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
bf.registerSingleton("resource1", new UrlResource("http://localhost:8080"));
|
||||
|
@ -213,27 +228,28 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class, RootBeanDefinition.AUTOWIRE_CONSTRUCTOR);
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertNull(gb.getIntegerSet());
|
||||
assertNull(gb.getResourceList());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericSetMapConstructor() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
|
||||
Set input = new HashSet();
|
||||
Set<String> input = new HashSet<String>();
|
||||
input.add("4");
|
||||
input.add("5");
|
||||
Map input2 = new HashMap();
|
||||
Map<String, String> input2 = new HashMap<String, String>();
|
||||
input2.put("4", "5");
|
||||
input2.put("6", "7");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input2);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(4)));
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(5)));
|
||||
|
@ -241,39 +257,41 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
assertEquals(new Integer(7), gb.getShortMap().get(new Short("6")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericMapResourceConstructor() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
|
||||
Map input = new HashMap();
|
||||
Map<String, String> input = new HashMap<String, String>();
|
||||
input.put("4", "5");
|
||||
input.put("6", "7");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue("http://localhost:8080");
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertEquals(new Integer(5), gb.getShortMap().get(new Short("4")));
|
||||
assertEquals(new Integer(7), gb.getShortMap().get(new Short("6")));
|
||||
assertEquals(new UrlResource("http://localhost:8080"), gb.getResourceList().get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericMapMapConstructor() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
|
||||
Map input = new HashMap();
|
||||
Map<String, String> input = new HashMap<String, String>();
|
||||
input.put("1", "0");
|
||||
input.put("2", "3");
|
||||
Map input2 = new HashMap();
|
||||
Map<String, String> input2 = new HashMap<String, String>();
|
||||
input2.put("4", "5");
|
||||
input2.put("6", "7");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input2);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertNotSame(gb.getPlainMap(), gb.getShortMap());
|
||||
assertEquals(2, gb.getPlainMap().size());
|
||||
|
@ -284,18 +302,19 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
assertEquals(new Integer(7), gb.getShortMap().get(new Short("6")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericMapMapConstructorWithSameRefAndConversion() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
|
||||
Map input = new HashMap();
|
||||
Map<String, String> input = new HashMap<String, String>();
|
||||
input.put("1", "0");
|
||||
input.put("2", "3");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertNotSame(gb.getPlainMap(), gb.getShortMap());
|
||||
assertEquals(2, gb.getPlainMap().size());
|
||||
|
@ -306,18 +325,19 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
assertEquals(new Integer(3), gb.getShortMap().get(new Short("2")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericMapMapConstructorWithSameRefAndNoConversion() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
|
||||
Map input = new HashMap();
|
||||
Map<Short, Integer> input = new HashMap<Short, Integer>();
|
||||
input.put(new Short((short) 1), new Integer(0));
|
||||
input.put(new Short((short) 2), new Integer(3));
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertSame(gb.getPlainMap(), gb.getShortMap());
|
||||
assertEquals(2, gb.getShortMap().size());
|
||||
|
@ -325,22 +345,24 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
assertEquals(new Integer(3), gb.getShortMap().get(new Short("2")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericMapWithKeyTypeConstructor() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
|
||||
Map input = new HashMap();
|
||||
Map<String, String> input = new HashMap<String, String>();
|
||||
input.put("4", "5");
|
||||
input.put("6", "7");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertEquals("5", gb.getLongMap().get(new Long("4")));
|
||||
assertEquals("7", gb.getLongMap().get(new Long("6")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericMapWithCollectionValueConstructor() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
bf.addPropertyEditorRegistrar(new PropertyEditorRegistrar() {
|
||||
|
@ -350,57 +372,59 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
});
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
|
||||
Map input = new HashMap();
|
||||
HashSet value1 = new HashSet();
|
||||
Map<String, AbstractCollection<?>> input = new HashMap<String, AbstractCollection<?>>();
|
||||
HashSet<Integer> value1 = new HashSet<Integer>();
|
||||
value1.add(new Integer(1));
|
||||
input.put("1", value1);
|
||||
ArrayList value2 = new ArrayList();
|
||||
ArrayList<Boolean> value2 = new ArrayList<Boolean>();
|
||||
value2.add(Boolean.TRUE);
|
||||
input.put("2", value2);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(Boolean.TRUE);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertTrue(gb.getCollectionMap().get(new Integer(1)) instanceof HashSet);
|
||||
assertTrue(gb.getCollectionMap().get(new Integer(2)) instanceof ArrayList);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testGenericSetFactoryMethod() {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
rbd.setFactoryMethodName("createInstance");
|
||||
|
||||
Set input = new HashSet();
|
||||
Set<String> input = new HashSet<String>();
|
||||
input.add("4");
|
||||
input.add("5");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(4)));
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(5)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericSetListFactoryMethod() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
rbd.setFactoryMethodName("createInstance");
|
||||
|
||||
Set input = new HashSet();
|
||||
Set<String> input = new HashSet<String>();
|
||||
input.add("4");
|
||||
input.add("5");
|
||||
List input2 = new ArrayList();
|
||||
List<String> input2 = new ArrayList<String>();
|
||||
input2.add("http://localhost:8080");
|
||||
input2.add("http://localhost:9090");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input2);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(4)));
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(5)));
|
||||
|
@ -408,22 +432,23 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
assertEquals(new UrlResource("http://localhost:9090"), gb.getResourceList().get(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericSetMapFactoryMethod() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
rbd.setFactoryMethodName("createInstance");
|
||||
|
||||
Set input = new HashSet();
|
||||
Set<String> input = new HashSet<String>();
|
||||
input.add("4");
|
||||
input.add("5");
|
||||
Map input2 = new HashMap();
|
||||
Map<String, String> input2 = new HashMap<String, String>();
|
||||
input2.put("4", "5");
|
||||
input2.put("6", "7");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input2);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(4)));
|
||||
assertTrue(gb.getIntegerSet().contains(new Integer(5)));
|
||||
|
@ -431,41 +456,43 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
assertEquals(new Integer(7), gb.getShortMap().get(new Short("6")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericMapResourceFactoryMethod() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
rbd.setFactoryMethodName("createInstance");
|
||||
|
||||
Map input = new HashMap();
|
||||
Map<String, String> input = new HashMap<String, String>();
|
||||
input.put("4", "5");
|
||||
input.put("6", "7");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue("http://localhost:8080");
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertEquals(new Integer(5), gb.getShortMap().get(new Short("4")));
|
||||
assertEquals(new Integer(7), gb.getShortMap().get(new Short("6")));
|
||||
assertEquals(new UrlResource("http://localhost:8080"), gb.getResourceList().get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericMapMapFactoryMethod() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
rbd.setFactoryMethodName("createInstance");
|
||||
|
||||
Map input = new HashMap();
|
||||
Map<String, String> input = new HashMap<String, String>();
|
||||
input.put("1", "0");
|
||||
input.put("2", "3");
|
||||
Map input2 = new HashMap();
|
||||
Map<String, String> input2 = new HashMap<String, String>();
|
||||
input2.put("4", "5");
|
||||
input2.put("6", "7");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input2);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertEquals("0", gb.getPlainMap().get("1"));
|
||||
assertEquals("3", gb.getPlainMap().get("2"));
|
||||
|
@ -473,23 +500,25 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
assertEquals(new Integer(7), gb.getShortMap().get(new Short("6")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericMapWithKeyTypeFactoryMethod() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
rbd.setFactoryMethodName("createInstance");
|
||||
|
||||
Map input = new HashMap();
|
||||
Map<String, String> input = new HashMap<String, String>();
|
||||
input.put("4", "5");
|
||||
input.put("6", "7");
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertEquals("5", gb.getLongMap().get(new Long("4")));
|
||||
assertEquals("7", gb.getLongMap().get(new Long("6")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericMapWithCollectionValueFactoryMethod() throws MalformedURLException {
|
||||
DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
|
||||
bf.addPropertyEditorRegistrar(new PropertyEditorRegistrar() {
|
||||
|
@ -500,45 +529,49 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
RootBeanDefinition rbd = new RootBeanDefinition(GenericBean.class);
|
||||
rbd.setFactoryMethodName("createInstance");
|
||||
|
||||
Map input = new HashMap();
|
||||
HashSet value1 = new HashSet();
|
||||
Map<String, AbstractCollection<?>> input = new HashMap<String, AbstractCollection<?>>();
|
||||
HashSet<Integer> value1 = new HashSet<Integer>();
|
||||
value1.add(new Integer(1));
|
||||
input.put("1", value1);
|
||||
ArrayList value2 = new ArrayList();
|
||||
ArrayList<Boolean> value2 = new ArrayList<Boolean>();
|
||||
value2.add(Boolean.TRUE);
|
||||
input.put("2", value2);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(Boolean.TRUE);
|
||||
rbd.getConstructorArgumentValues().addGenericArgumentValue(input);
|
||||
|
||||
bf.registerBeanDefinition("genericBean", rbd);
|
||||
GenericBean gb = (GenericBean) bf.getBean("genericBean");
|
||||
GenericBean<?> gb = (GenericBean<?>) bf.getBean("genericBean");
|
||||
|
||||
assertTrue(gb.getCollectionMap().get(new Integer(1)) instanceof HashSet);
|
||||
assertTrue(gb.getCollectionMap().get(new Integer(2)) instanceof ArrayList);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericListBean() throws Exception {
|
||||
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("genericBeanTests.xml", getClass()));
|
||||
List list = (List) bf.getBean("list");
|
||||
List<?> list = (List<?>) bf.getBean("list");
|
||||
assertEquals(1, list.size());
|
||||
assertEquals(new URL("http://localhost:8080"), list.get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericSetBean() throws Exception {
|
||||
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("genericBeanTests.xml", getClass()));
|
||||
Set set = (Set) bf.getBean("set");
|
||||
Set<?> set = (Set<?>) bf.getBean("set");
|
||||
assertEquals(1, set.size());
|
||||
assertEquals(new URL("http://localhost:8080"), set.iterator().next());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericMapBean() throws Exception {
|
||||
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("genericBeanTests.xml", getClass()));
|
||||
Map map = (Map) bf.getBean("map");
|
||||
Map<?, ?> map = (Map<?, ?>) bf.getBean("map");
|
||||
assertEquals(1, map.size());
|
||||
assertEquals(new Integer(10), map.keySet().iterator().next());
|
||||
assertEquals(new URL("http://localhost:8080"), map.values().iterator().next());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericallyTypedIntegerBean() throws Exception {
|
||||
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("genericBeanTests.xml", getClass()));
|
||||
GenericIntegerBean gb = (GenericIntegerBean) bf.getBean("integerBean");
|
||||
|
@ -547,6 +580,7 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
assertEquals(new Integer(30), gb.getGenericListProperty().get(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenericallyTypedSetOfIntegerBean() throws Exception {
|
||||
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("genericBeanTests.xml", getClass()));
|
||||
GenericSetOfIntegerBean gb = (GenericSetOfIntegerBean) bf.getBean("setOfIntegerBean");
|
||||
|
@ -555,6 +589,7 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
assertEquals(new Integer(30), gb.getGenericListProperty().get(1).iterator().next());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetBean() throws Exception {
|
||||
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("genericBeanTests.xml", getClass()));
|
||||
UrlSet us = (UrlSet) bf.getBean("setBean");
|
||||
|
@ -563,14 +598,17 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
}
|
||||
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public static class NamedUrlList extends LinkedList<URL> {
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public static class NamedUrlSet extends HashSet<URL> {
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public static class NamedUrlMap extends HashMap<Integer, URL> {
|
||||
}
|
||||
|
||||
|
@ -585,6 +623,7 @@ public class BeanFactoryGenericsTests extends TestCase {
|
|||
}
|
||||
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public static class UrlSet extends HashSet<URL> {
|
||||
|
||||
public UrlSet() {
|
Loading…
Reference in New Issue