@Test public void testStringToBooleanTrue() { assertEquals(true, conversionService.convert("true", Boolean.class)); assertEquals(true, conversionService.convert("on", Boolean.class)); assertEquals(true, conversionService.convert("yes", Boolean.class)); assertEquals(true, conversionService.convert("1", Boolean.class)); assertEquals(true, conversionService.convert("TRUE", Boolean.class)); assertEquals(true, conversionService.convert("ON", Boolean.class)); assertEquals(true, conversionService.convert("YES", Boolean.class)); }
@Test public void convertArrayToWrapperArray() { byte[] byteArray = new byte[] {1, 2, 3}; Byte[] converted = conversionService.convert(byteArray, Byte[].class); assertThat(converted, equalTo(new Byte[]{1, 2, 3})); }
@Test public void convertStringToCharArray() throws Exception { char[] converted = conversionService.convert("a,b,c", char[].class); assertThat(converted, equalTo(new char[]{'a', 'b', 'c'})); }
@Test public void convertCollectionToObjectAssignableTarget() throws Exception { Collection<String> source = new ArrayList<>(); source.add("foo"); Object result = conversionService.convert(source, new TypeDescriptor(getClass().getField("assignableTarget"))); assertEquals(source, result); }
@Test public void convertObjectToCollectionWithElementConversion() throws Exception { @SuppressWarnings("unchecked") List<Integer> result = (List<Integer>) conversionService.convert(3L, TypeDescriptor.valueOf(Long.class), new TypeDescriptor(getClass().getField("genericList"))); assertEquals(1, result.size()); assertEquals(Integer.valueOf(3), result.get(0)); }
@Test public void convertArrayToString() { String result = conversionService.convert(new String[] {"1", "2", "3"}, String.class); assertEquals("1,2,3", result); }
@Test public void testStringToString() { String str = "test"; assertSame(str, conversionService.convert(str, String.class)); }
@Test public void convertArrayToCollectionGenericTypeConversion() throws Exception { @SuppressWarnings("unchecked") List<Integer> result = (List<Integer>) conversionService.convert(new String[] {"1", "2", "3"}, TypeDescriptor .valueOf(String[].class), new TypeDescriptor(getClass().getDeclaredField("genericList"))); assertEquals(Integer.valueOf(1), result.get(0)); assertEquals(Integer.valueOf(2), result.get(1)); assertEquals(Integer.valueOf(3), result.get(2)); }
@Test public void convertArrayToCollectionInterface() { List<?> result = conversionService.convert(new String[] {"1", "2", "3"}, List.class); assertEquals("1", result.get(0)); assertEquals("2", result.get(1)); assertEquals("3", result.get(2)); }
@Test public void convertArrayToCollectionImpl() { LinkedList<?> result = conversionService.convert(new String[] {"1", "2", "3"}, LinkedList.class); assertEquals("1", result.get(0)); assertEquals("2", result.get(1)); assertEquals("3", result.get(2)); }
@Test public void convertStringToProperties() { Properties result = conversionService.convert("a=b\nc=2\nd=", Properties.class); assertEquals(3, result.size()); assertEquals("b", result.getProperty("a")); assertEquals("2", result.getProperty("c")); assertEquals("", result.getProperty("d")); }
@Test public void convertCollectionToCollectionNull() throws Exception { @SuppressWarnings("unchecked") List<Integer> bar = (List<Integer>) conversionService.convert(null, TypeDescriptor.valueOf(LinkedHashSet.class), new TypeDescriptor(getClass().getField("genericList"))); assertNull(bar); }
@Test public void convertListOfStringToString() { List<String> list = Arrays.asList("Foo", "Bar"); assertTrue(conversionService.canConvert(list.getClass(), String.class)); String result = conversionService.convert(list, String.class); assertEquals("Foo,Bar", result); }
@Test public void convertStringToArrayWithElementConversion() { Integer[] result = conversionService.convert("1,2,3", Integer[].class); assertEquals(3, result.length); assertEquals(Integer.valueOf(1), result[0]); assertEquals(Integer.valueOf(2), result[1]); assertEquals(Integer.valueOf(3), result[2]); }
@Test public void convertObjectToArray() { Object[] result = conversionService.convert(3L, Object[].class); assertEquals(1, result.length); assertEquals(3L, result[0]); }
@Test @SuppressWarnings("unchecked") public void convertObjectToOptional() { Method method = ClassUtils.getMethod(TestEntity.class, "handleOptionalValue", Optional.class); MethodParameter parameter = new MethodParameter(method, 0); TypeDescriptor descriptor = new TypeDescriptor(parameter); Object actual = conversionService.convert("1,2,3", TypeDescriptor.valueOf(String.class), descriptor); assertEquals(Optional.class, actual.getClass()); assertEquals(Arrays.asList(1, 2, 3), ((Optional<List<Integer>>) actual).get()); }
@Test public void convertArrayToArrayAssignable() { int[] result = conversionService.convert(new int[] {1, 2, 3}, int[].class); assertEquals(1, result[0]); assertEquals(2, result[1]); assertEquals(3, result[2]); }
@Test public void convertStringToPrimitiveArrayWithElementConversion() { int[] result = conversionService.convert("1,2,3", int[].class); assertEquals(3, result.length); assertEquals(1, result[0]); assertEquals(2, result[1]); assertEquals(3, result[2]); }
@Test public void convertObjectToStringUsingToString() { SSN.reset(); assertEquals("123456789", conversionService.convert(new SSN("123456789"), String.class)); assertEquals("constructor invocations", 1, SSN.constructorCount); assertEquals("toString() invocations", 1, SSN.toStringCount); }
@Test public void convertObjectToStringWithValueOfMethodPresentUsingToString() { ISBN.reset(); assertEquals("123456789", conversionService.convert(new ISBN("123456789"), String.class)); assertEquals("constructor invocations", 1, ISBN.constructorCount); assertEquals("valueOf() invocations", 0, ISBN.valueOfCount); assertEquals("toString() invocations", 1, ISBN.toStringCount); }