@Test public void conditionalConverterCachingForDifferentAnnotationAttributes() throws Exception { conversionService.addConverter(new ColorConverter()); conversionService.addConverter(new MyConditionalColorConverter()); assertEquals(Color.BLACK, conversionService.convert("000000xxxx", new TypeDescriptor(getClass().getField("activeColor")))); assertEquals(Color.BLACK, conversionService.convert(" #000000 ", new TypeDescriptor(getClass().getField("inactiveColor")))); assertEquals(Color.BLACK, conversionService.convert("000000yyyy", new TypeDescriptor(getClass().getField("activeColor")))); assertEquals(Color.BLACK, conversionService.convert(" #000000 ", new TypeDescriptor(getClass().getField("inactiveColor")))); }
@Test public void removeConvertible() { conversionService.addConverter(new ColorConverter()); assertTrue(conversionService.canConvert(String.class, Color.class)); conversionService.removeConvertible(String.class, Color.class); assertFalse(conversionService.canConvert(String.class, Color.class)); }
@Test(expected = ConverterNotFoundException.class) public void convertSuperTarget() { conversionService.addConverter(new ColorConverter()); conversionService.convert("#000000", SystemColor.class); }
@Test public void conditionalConverterFactory() { MyConditionalConverterFactory converter = new MyConditionalConverterFactory(); conversionService.addConverter(new ColorConverter()); conversionService.addConverterFactory(converter); assertEquals(Color.BLACK, conversionService.convert("#000000", Color.class)); assertTrue(converter.getMatchAttempts() > 0); assertTrue(converter.getNestedMatchAttempts() > 0); }
@Test public void conditionalConverter() { MyConditionalConverter converter = new MyConditionalConverter(); conversionService.addConverter(new ColorConverter()); conversionService.addConverter(converter); assertEquals(Color.BLACK, conversionService.convert("#000000", Color.class)); assertTrue(converter.getMatchAttempts() > 0); }