@Test public void resolveSerializationBeanListOneFieldRequired() throws Exception { // given Field listField = getField("beanCollectionFieldRequired"); Type listType = listField.getGenericType(); // when SerializationInput input = new SerializationInputResolver() .resolveInputInformation(listField.getAnnotation(Bind.class)); PropertySerialization listSerialization = serializationResolver.resolveSerialization(listType, input); PropertySerialization listElementSerialization = listSerialization.getPropertySerialization( PropertySerialization.CONTAINER_ELEMENT_PROPERTY_NAME); PropertySerialization beanElementSerialization = listElementSerialization.getPropertySerialization("simpleField"); // then assertNotNull(listSerialization); assertNotNull(listElementSerialization); assertNotNull(beanElementSerialization); assertEquals( IntegerValueSerializer.class, beanElementSerialization.getValueSerializer().getClass()); assertEquals(VerySimpleMockBean.class, listElementSerialization.getPropertyClass()); assertEquals(int.class, beanElementSerialization.getPropertyClass()); assertTrue(beanElementSerialization.getConstraints().isRequired()); }
@Test public void resolveDefaultSerializationRawTypeFirstTime() { // when PropertySerialization defaultRawTypeSerialization = serializationResolver.resolveDefaultSerialization(String.class); // then assertEquals(String.class, defaultRawTypeSerialization.getPropertyClass()); assertEquals( StringValueSerializer.class, defaultRawTypeSerialization.getValueSerializer().getClass()); }
@Test public void resolveDefaultSerializationRawArrayType() throws Exception { // given rawArray = new Long[3]; Type arrayType = getFieldType("rawArray"); // when PropertySerialization listSerialization = serializationResolver.resolveDefaultSerialization(arrayType); PropertySerialization listElementSerialization = listSerialization.getPropertySerialization( PropertySerialization.CONTAINER_ELEMENT_PROPERTY_NAME); // then assertNotNull(listElementSerialization); assertEquals( LongValueSerializer.class, listElementSerialization.getValueSerializer().getClass()); }
@Test public void resolveDefaultSerializationRawMapType() throws Exception { // given rawMap = new HashMap<String, Date>(); Type mapType = getFieldType("rawMap"); // when PropertySerialization listSerialization = serializationResolver.resolveDefaultSerialization(mapType); PropertySerialization listElementSerialization = listSerialization.getPropertySerialization( PropertySerialization.CONTAINER_ELEMENT_PROPERTY_NAME); // then assertNotNull(listElementSerialization); assertEquals( DateValueSerializer.class, listElementSerialization.getValueSerializer().getClass()); }
@Test public void resolveDefaultSerializationCollectionType() throws Exception { // given rawList = new ArrayList<BigInteger>(); Type listType = getFieldType("rawList"); // when PropertySerialization listSerialization = serializationResolver.resolveDefaultSerialization(listType); PropertySerialization listElementSerialization = listSerialization.getPropertySerialization( PropertySerialization.CONTAINER_ELEMENT_PROPERTY_NAME); // then assertNotNull(listElementSerialization); assertEquals( BigIntegerValueSerializer.class, listElementSerialization.getValueSerializer().getClass()); }
@Test public void resolveSerializationRawRequired() throws Exception { // given Field beanField = getField("rawRequired"); Type beanType = beanField.getGenericType(); // when SerializationInput input = new SerializationInputResolver() .resolveInputInformation(beanField.getAnnotation(Bind.class)); PropertySerialization rawSerialization = serializationResolver.resolveSerialization(beanType, input); // then assertNotNull(rawSerialization); assertEquals(DoubleValueSerializer.class, rawSerialization.getValueSerializer().getClass()); assertEquals(double.class, rawSerialization.getPropertyClass()); assertTrue(rawSerialization.getConstraints().isRequired()); }
@Test public void resolveDefaultSerializationBeanArrayType() throws Exception { // given beanArray = new MockBean[3]; Type arrayType = getFieldType("beanArray"); // when PropertySerialization listSerialization = serializationResolver.resolveDefaultSerialization(arrayType); PropertySerialization listElementSerialization = listSerialization.getPropertySerialization( PropertySerialization.CONTAINER_ELEMENT_PROPERTY_NAME); // then assertNotNull(listElementSerialization); assertNull(listElementSerialization.getValueSerializer()); assertEquals(MockBean.class, listElementSerialization.getPropertyClass()); assertEquals(MockBean.FIELDS_COUNT, listElementSerialization.getChildrenProperties().size()); }
@Test public void resolveSerializationBeanOneFieldRequired() throws Exception { // given Field beanField = getField("beanFieldRequired"); Type beanType = beanField.getGenericType(); // when SerializationInput input = new SerializationInputResolver() .resolveInputInformation(beanField.getAnnotation(Bind.class)); PropertySerialization beanSerialization = serializationResolver.resolveSerialization(beanType, input); PropertySerialization beanElementSerialization = beanSerialization.getPropertySerialization("simpleField"); // then assertNotNull(beanElementSerialization); assertEquals( IntegerValueSerializer.class, beanElementSerialization.getValueSerializer().getClass()); assertEquals(VerySimpleMockBean.class, beanSerialization.getPropertyClass()); assertEquals(int.class, beanElementSerialization.getPropertyClass()); assertTrue(beanElementSerialization.getConstraints().isRequired()); }