@Test public void discoversArraysAndCollections() { TypeInformation<StringCollectionContainer> information = ClassTypeInformation.from(StringCollectionContainer.class); TypeInformation<?> property = information.getProperty("array"); assertEquals(property.getComponentType().getType(), String.class); Class<?> type = property.getType(); assertEquals(String[].class, type); assertThat(type.isArray(), is(true)); property = information.getProperty("foo"); assertEquals(Collection[].class, property.getType()); assertEquals(Collection.class, property.getComponentType().getType()); assertEquals(String.class, property.getComponentType().getComponentType().getType()); property = information.getProperty("rawSet"); assertEquals(Set.class, property.getType()); assertEquals(Object.class, property.getComponentType().getType()); assertNull(property.getMapValueType()); }