@Before public void setUp() throws Exception { when(builderConfiguration.getAnnotationOrder()).thenReturn(order); when(configBuilderFactory.getInstance(AnnotationHelper.class)).thenReturn(annotationHelper); when(configBuilderFactory.getInstance(PropertyValueProcessor.class)) .thenReturn(propertyValueProcessor); when(configBuilderFactory.getInstance(CommandLineValueProcessor.class)) .thenReturn(commandLineValueProcessor); when(configBuilderFactory.getInstance(DefaultValueProcessor.class)) .thenReturn(defaultValueProcessor); when(propertyValueProcessor.getValue( Matchers.any(PropertyValue.class), Matchers.any(ConfigBuilderFactory.class))) .thenReturn("propertyValue"); when(commandLineValueProcessor.getValue( Matchers.any(CommandLineValue.class), Matchers.any(ConfigBuilderFactory.class))) .thenReturn("commandLineValue"); fieldValueExtractor = new FieldValueExtractor(configBuilderFactory); }
@Test public void testExtractValueWithNullValue() throws Exception { field = TestConfig.class.getDeclaredField("testField"); PropertyValue propertyValue = field.getAnnotation(PropertyValue.class); CommandLineValue commandLineValue = field.getAnnotation(CommandLineValue.class); List<Annotation> orderList = Lists.newArrayList(propertyValue, commandLineValue); when(annotationHelper.getAnnotationsInOrder( Matchers.any(Field.class), Matchers.any(Class[].class))) .thenReturn(orderList); when(propertyValueProcessor.getValue( Matchers.any(PropertyValue.class), Matchers.any(ConfigBuilderFactory.class))) .thenReturn(null); when(commandLineValueProcessor.getValue( Matchers.any(CommandLineValue.class), Matchers.any(ConfigBuilderFactory.class))) .thenReturn(null); Object result = fieldValueExtractor.extractValue(field, builderConfiguration); assertEquals(null, result); }