@Test public void resolveDefaultSerializationRawTypeSecondTime() { // given PropertySerialization defaultRawTypeSerialization1 = serializationResolver.resolveDefaultSerialization(String.class); // when PropertySerialization defaultRawTypeSerialization2 = serializationResolver.resolveDefaultSerialization(String.class); // then assertSame(defaultRawTypeSerialization1, defaultRawTypeSerialization2); }
@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 resolveDefaultSerializationParametrizedBean() throws Exception { // given Type type = getFieldType("parametrizedBean"); // when PropertySerialization beanSerialization = serializationResolver.resolveDefaultSerialization(type); PropertySerialization propertySerialization = beanSerialization.getPropertySerialization("parametrizedField1"); // then assertNotNull(beanSerialization); assertNotNull(propertySerialization); assertEquals(VerySimpleMockBean.class, propertySerialization.getPropertyClass()); }
@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 resolveDefaultSerializationBeanType() { // when PropertySerialization beanSerialization = serializationResolver.resolveDefaultSerialization(MockBean.class); // then assertEquals(MockBean.class, beanSerialization.getPropertyClass()); assertNotNull(beanSerialization.getPropertySerialization(MockBean.RAW_DOUBLE_PROPERTY)); assertEquals( DoubleValueSerializer.class, beanSerialization .getPropertySerialization(MockBean.RAW_DOUBLE_PROPERTY) .getValueSerializer() .getClass()); assertEquals(MockBean.FIELDS_COUNT, beanSerialization.getChildrenProperties().size()); }
@Test public void resolveDefaultSerializationParametrizedBeanArray() throws Exception { // given Type type = getFieldType("parametrizedBean"); // when PropertySerialization beanSerialization = serializationResolver.resolveDefaultSerialization(type); PropertySerialization propertySerialization = beanSerialization.getPropertySerialization("parametrizedArray"); PropertySerialization listElementSerialization = propertySerialization.getPropertySerialization( PropertySerialization.CONTAINER_ELEMENT_PROPERTY_NAME); // then assertNotNull(beanSerialization); assertNotNull(propertySerialization); assertEquals(PropertyType.ARRAY, propertySerialization.getPropertyType()); assertEquals(VerySimpleMockBean.class, listElementSerialization.getPropertyClass()); }
@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()); }