1 | public class ReflectionOptimizerTest extends UnitTestCase {↵ | | 1 | public class ReflectionOptimizerTest extends UnitTestCase {↵
|
|
2 | public ReflectionOptimizerTest(String string) {↵ | | 2 | public ReflectionOptimizerTest(String string) {↵
|
3 | super( string );↵ | | 3 | super( string );↵
|
4 | }↵ | | 4 | }↵
|
|
5 | public void testReflectionOptimization() {↵ | | 5 | public void testReflectionOptimization() {↵
|
6 | BytecodeProviderImpl provider = new BytecodeProviderImpl();↵ | | 6 | BytecodeProviderImpl provider = new BytecodeProviderImpl();↵
|
7 | ReflectionOptimizer optimizer = provider.getReflectionOptimizer(↵ | | 7 | ReflectionOptimizer optimizer = provider.getReflectionOptimizer(↵
|
8 | Bean.class,↵ | | 8 | Bean.class,↵
|
9 | BeanReflectionHelper.getGetterNames(),↵ | | 9 | BeanReflectionHelper.getGetterNames(),↵
|
10 | BeanReflectionHelper.getSetterNames(),↵ | | 10 | BeanReflectionHelper.getSetterNames(),↵
|
11 | BeanReflectionHelper.getTypes()↵ | | 11 | BeanReflectionHelper.getTypes()↵
|
12 | );↵ | | 12 | );↵
|
13 | assertNotNull( optimizer );↵ | | 13 | assertNotNull( optimizer );↵
|
14 | assertNotNull( optimizer.getInstantiationOptimizer() );↵ | | 14 | assertNotNull( optimizer.getInstantiationOptimizer() );↵
|
15 | assertNotNull( optimizer.getAccessOptimizer() );↵ | | 15 | assertNotNull( optimizer.getAccessOptimizer() );↵
|
|
16 | Object instance = optimizer.getInstantiationOptimizer().newInstance();↵ | | 16 | Object instance = optimizer.getInstantiationOptimizer().newInstance();↵
|
17 | assertEquals( instance.getClass(), Bean.class );↵ | | 17 | assertEquals( instance.getClass(), Bean.class );↵
|
18 | Bean bean = ( Bean ) instance;↵ | | 18 | Bean bean = ( Bean ) instance;↵
|
|
19 | optimizer.getAccessOptimizer().setPropertyValues( bean, BeanReflectionHelper.TEST_VALUES );↵ | | 19 | optimizer.getAccessOptimizer().setPropertyValues( bean, BeanReflectionHelper.TEST_VALUES );↵
|
20 | assertEquals( bean.getSomeString(), BeanReflectionHelper.TEST_VALUES[0] );↵ | | 20 | assertEquals( bean.getSomeString(), BeanReflectionHelper.TEST_VALUES[0] );↵
|
21 | Object[] values = optimizer.getAccessOptimizer().getPropertyValues( bean );↵ | | 21 | Object[] values = optimizer.getAccessOptimizer().getPropertyValues( bean );↵
|
22 | assertEquivalent( values, BeanReflectionHelper.TEST_VALUES );↵ | | 22 | assertEquivalent( values, BeanReflectionHelper.TEST_VALUES );↵
|
23 | }↵ | | 23 | }↵
|
|
24 | private void assertEquivalent(Object[] checkValues, Object[] values) {↵ | | 24 | private void assertEquivalent(Object[] checkValues, Object[] values) {↵
|
25 | assertEquals( "Different lengths", checkValues.length, values.length );↵ | | 25 | assertEquals( "Different lengths", checkValues.length, values.length );↵
|
26 | for ( int i = 0; i < checkValues.length; i++ ) {↵ | | 26 | for ( int i = 0; i < checkValues.length; i++ ) {↵
|
27 | assertEquals( "different values at index [" + i + "]", checkValues[i], values[i] );↵ | | 27 | assertEquals( "different values at index [" + i + "]", checkValues[i], values[i] );↵
|
28 | }↵ | | 28 | }↵
|
29 | }↵ | | 29 | }↵
|
|
30 | public static TestSuite suite() {↵ | | 30 | public static TestSuite suite() {↵
|
31 | return new TestSuite( ReflectionOptimizerTest.class ) | | 31 | return new TestSuite( ReflectionOptimizerTest.class )
|