@Test public void testAnnotationAnnotated() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); AnnotationValueInfo expected = model.getPropertyMap().get("annotatedWithStringValue").getAnnotations().get(0); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedWithAnnotationValue").getAnnotations().size()); assertEquals(2, model.getPropertyMap().get("annotatedWithAnnotationValue").getAnnotations().get(0).getMembersNames().size()); assertNotNull(model.getPropertyMap().get("annotatedWithAnnotationValue").getAnnotations().get(0).getMember("value")); assertNotNull(model.getPropertyMap().get("annotatedWithAnnotationValue").getAnnotations().get(0).getMember("array")); assertEquals(expected, model.getPropertyMap().get("annotatedWithAnnotationValue").getAnnotations().get(0).getMember("value")); assertArrayEquals(new AnnotationValueInfo[]{expected, expected}, ((List) model.getPropertyMap().get("annotatedWithAnnotationValue").getAnnotations().get(0).getMember("array")).toArray()); }
@Test public void testFloatAnnotated() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedWithFloatValue").getAnnotations().size()); assertEquals(3, model.getPropertyMap().get("annotatedWithFloatValue").getAnnotations().get(0).getMembersNames().size()); assertNotNull(model.getPropertyMap().get("annotatedWithFloatValue").getAnnotations().get(0).getMember("value")); assertNotNull(model.getPropertyMap().get("annotatedWithFloatValue").getAnnotations().get(0).getMember("array")); assertNotNull(model.getPropertyMap().get("annotatedWithFloatValue").getAnnotations().get(0).getMember("defaultValue")); assertEquals(1.0f, (float) model.getPropertyMap().get("annotatedWithFloatValue").getAnnotations().get(0).getMember("value"), 0); assertArrayEquals(new Float[]{1.0f, 2.0f}, ((List) model.getPropertyMap().get("annotatedWithFloatValue").getAnnotations().get(0).getMember("array")).toArray()); assertEquals(1.0f, (float) model.getPropertyMap().get("annotatedWithFloatValue").getAnnotations().get(0).getMember("defaultValue"), 0); }
@Test public void testLongAnnotated() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedWithLongValue").getAnnotations().size()); assertEquals(3, model.getPropertyMap().get("annotatedWithLongValue").getAnnotations().get(0).getMembersNames().size()); assertNotNull(model.getPropertyMap().get("annotatedWithLongValue").getAnnotations().get(0).getMember("value")); assertNotNull(model.getPropertyMap().get("annotatedWithLongValue").getAnnotations().get(0).getMember("array")); assertNotNull(model.getPropertyMap().get("annotatedWithLongValue").getAnnotations().get(0).getMember("defaultValue")); assertEquals(1, (long) model.getPropertyMap().get("annotatedWithLongValue").getAnnotations().get(0).getMember("value")); assertArrayEquals(new Long[]{1L, 2L}, ((List) model.getPropertyMap().get("annotatedWithLongValue").getAnnotations().get(0).getMember("array")).toArray()); assertEquals(1, (long) model.getPropertyMap().get("annotatedWithLongValue").getAnnotations().get(0).getMember("defaultValue")); }
@Test public void testCharAnnotated() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedWithCharValue").getAnnotations().size()); assertEquals(3, model.getPropertyMap().get("annotatedWithCharValue").getAnnotations().get(0).getMembersNames().size()); assertNotNull(model.getPropertyMap().get("annotatedWithCharValue").getAnnotations().get(0).getMember("value")); assertNotNull(model.getPropertyMap().get("annotatedWithCharValue").getAnnotations().get(0).getMember("array")); assertNotNull(model.getPropertyMap().get("annotatedWithCharValue").getAnnotations().get(0).getMember("defaultValue")); assertEquals('a', (char) model.getPropertyMap().get("annotatedWithCharValue").getAnnotations().get(0).getMember("value")); assertArrayEquals(new Character[]{'a', 'b'}, ((List) model.getPropertyMap().get("annotatedWithCharValue").getAnnotations().get(0).getMember("array")).toArray()); assertEquals('a', (char) model.getPropertyMap().get("annotatedWithCharValue").getAnnotations().get(0).getMember("defaultValue")); }
@Test public void testStringAnnotated() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedWithStringValue").getAnnotations().size()); assertEquals(3, model.getPropertyMap().get("annotatedWithStringValue").getAnnotations().get(0).getMembersNames().size()); assertNotNull(model.getPropertyMap().get("annotatedWithStringValue").getAnnotations().get(0).getMember("value")); assertNotNull(model.getPropertyMap().get("annotatedWithStringValue").getAnnotations().get(0).getMember("array")); assertNotNull(model.getPropertyMap().get("annotatedWithStringValue").getAnnotations().get(0).getMember("defaultValue")); assertEquals("aString", model.getPropertyMap().get("annotatedWithStringValue").getAnnotations().get(0).getMember("value")); assertArrayEquals(new String[]{"one", "two"}, ((List) model.getPropertyMap().get("annotatedWithStringValue").getAnnotations().get(0).getMember("array")).toArray()); assertEquals("defaultString", model.getPropertyMap().get("annotatedWithStringValue").getAnnotations().get(0).getMember("defaultValue")); }
@Test public void testShortAnnotated() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedWithShortValue").getAnnotations().size()); assertEquals(3, model.getPropertyMap().get("annotatedWithShortValue").getAnnotations().get(0).getMembersNames().size()); assertNotNull(model.getPropertyMap().get("annotatedWithShortValue").getAnnotations().get(0).getMember("value")); assertNotNull(model.getPropertyMap().get("annotatedWithShortValue").getAnnotations().get(0).getMember("array")); assertNotNull(model.getPropertyMap().get("annotatedWithShortValue").getAnnotations().get(0).getMember("defaultValue")); assertEquals(1, (short) model.getPropertyMap().get("annotatedWithShortValue").getAnnotations().get(0).getMember("value")); assertArrayEquals(new Short[]{1, 2}, ((List) model.getPropertyMap().get("annotatedWithShortValue").getAnnotations().get(0).getMember("array")).toArray()); assertEquals(1, (short) model.getPropertyMap().get("annotatedWithShortValue").getAnnotations().get(0).getMember("defaultValue")); }
@Test public void testIntegerAnnotated() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedWithIntegerValue").getAnnotations().size()); assertEquals(3, model.getPropertyMap().get("annotatedWithIntegerValue").getAnnotations().get(0).getMembersNames().size()); assertNotNull(model.getPropertyMap().get("annotatedWithIntegerValue").getAnnotations().get(0).getMember("value")); assertNotNull(model.getPropertyMap().get("annotatedWithIntegerValue").getAnnotations().get(0).getMember("array")); assertNotNull(model.getPropertyMap().get("annotatedWithIntegerValue").getAnnotations().get(0).getMember("defaultValue")); assertEquals(1, (int) model.getPropertyMap().get("annotatedWithIntegerValue").getAnnotations().get(0).getMember("value")); assertArrayEquals(new Integer[]{1, 2}, ((List) model.getPropertyMap().get("annotatedWithIntegerValue").getAnnotations().get(0).getMember("array")).toArray()); assertEquals(1, (int) model.getPropertyMap().get("annotatedWithIntegerValue").getAnnotations().get(0).getMember("defaultValue")); }
@Test public void testByteAnnotated() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedWithByteValue").getAnnotations().size()); assertEquals(3, model.getPropertyMap().get("annotatedWithByteValue").getAnnotations().get(0).getMembersNames().size()); assertNotNull(model.getPropertyMap().get("annotatedWithByteValue").getAnnotations().get(0).getMember("value")); assertNotNull(model.getPropertyMap().get("annotatedWithByteValue").getAnnotations().get(0).getMember("array")); assertNotNull(model.getPropertyMap().get("annotatedWithByteValue").getAnnotations().get(0).getMember("defaultValue")); assertEquals(1, (byte) model.getPropertyMap().get("annotatedWithByteValue").getAnnotations().get(0).getMember("value")); assertArrayEquals(new Byte[]{0, 1}, ((List) model.getPropertyMap().get("annotatedWithByteValue").getAnnotations().get(0).getMember("array")).toArray()); assertEquals(1, (byte) model.getPropertyMap().get("annotatedWithByteValue").getAnnotations().get(0).getMember("defaultValue")); }
@Test public void testDoubleAnnotated() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedWithDoubleValue").getAnnotations().size()); assertEquals(3, model.getPropertyMap().get("annotatedWithDoubleValue").getAnnotations().get(0).getMembersNames().size()); assertNotNull(model.getPropertyMap().get("annotatedWithDoubleValue").getAnnotations().get(0).getMember("value")); assertNotNull(model.getPropertyMap().get("annotatedWithDoubleValue").getAnnotations().get(0).getMember("array")); assertNotNull(model.getPropertyMap().get("annotatedWithDoubleValue").getAnnotations().get(0).getMember("defaultValue")); assertEquals(1.0, (double) model.getPropertyMap().get("annotatedWithDoubleValue").getAnnotations().get(0).getMember("value"), 0); assertArrayEquals(new Double[]{1.0, 2.0}, ((List) model.getPropertyMap().get("annotatedWithDoubleValue").getAnnotations().get(0).getMember("array")).toArray()); assertEquals(1.0, (double) model.getPropertyMap().get("annotatedWithDoubleValue").getAnnotations().get(0).getMember("defaultValue"), 0); }
@Test public void testBooleanAnnotated() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedWithBooleanValue").getAnnotations().size()); assertEquals(3, model.getPropertyMap().get("annotatedWithBooleanValue").getAnnotations().get(0).getMembersNames().size()); assertNotNull(model.getPropertyMap().get("annotatedWithBooleanValue").getAnnotations().get(0).getMember("value")); assertNotNull(model.getPropertyMap().get("annotatedWithBooleanValue").getAnnotations().get(0).getMember("array")); assertNotNull(model.getPropertyMap().get("annotatedWithBooleanValue").getAnnotations().get(0).getMember("defaultValue")); assertEquals(true, model.getPropertyMap().get("annotatedWithBooleanValue").getAnnotations().get(0).getMember("value")); assertArrayEquals(new Boolean[]{true, true}, ((List) model.getPropertyMap().get("annotatedWithBooleanValue").getAnnotations().get(0).getMember("array")).toArray()); assertEquals(true, model.getPropertyMap().get("annotatedWithBooleanValue").getAnnotations().get(0).getMember("defaultValue")); }
@Test public void testAnnotatedField() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedField").getAnnotations().size()); assertEquals(0, model.getPropertyMap().get("annotatedField").getAnnotations().get(0).getMembersNames().size()); }
@Test public void testEnumAnnotated() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedWithEnumValue").getAnnotations().size()); assertEquals(3, model.getPropertyMap().get("annotatedWithEnumValue").getAnnotations().get(0).getMembersNames().size()); assertNotNull(model.getPropertyMap().get("annotatedWithEnumValue").getAnnotations().get(0).getMember("value")); assertNotNull(model.getPropertyMap().get("annotatedWithEnumValue").getAnnotations().get(0).getMember("array")); assertNotNull(model.getPropertyMap().get("annotatedWithEnumValue").getAnnotations().get(0).getMember("defaultValue")); assertEquals(TestEnum.TEST.name(), model.getPropertyMap().get("annotatedWithEnumValue").getAnnotations().get(0).getMember("value")); assertArrayEquals(new String[]{TestEnum.TEST.name(), TestEnum.TEST.name()}, ((List) model.getPropertyMap().get("annotatedWithEnumValue").getAnnotations().get(0).getMember("array")).toArray()); assertEquals(TestEnum.TEST.name(), model.getPropertyMap().get("annotatedWithEnumValue").getAnnotations().get(0).getMember("defaultValue")); }
@Test public void testClassAnnotated() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(AnnotatedDataObject.class); assertTrue(model.getPropertyMap().values().stream().allMatch(PropertyInfo::isAnnotated)); assertEquals(1, model.getPropertyMap().get("annotatedWithClassValue").getAnnotations().size()); assertEquals(3, model.getPropertyMap().get("annotatedWithClassValue").getAnnotations().get(0).getMembersNames().size()); assertNotNull(model.getPropertyMap().get("annotatedWithClassValue").getAnnotations().get(0).getMember("value")); assertNotNull(model.getPropertyMap().get("annotatedWithClassValue").getAnnotations().get(0).getMember("array")); assertNotNull(model.getPropertyMap().get("annotatedWithClassValue").getAnnotations().get(0).getMember("defaultValue")); assertEquals(String.class, Class.forName(((ClassTypeInfo) model.getPropertyMap().get("annotatedWithClassValue").getAnnotations().get(0).getMember("value")).getName())); assertArrayEquals(new Class[]{String.class, String.class}, ((List) model.getPropertyMap().get("annotatedWithClassValue").getAnnotations().get(0).getMember("array")).stream().map(i -> { try { return Class.forName(((ClassTypeInfo) i).getName()); } catch (ClassNotFoundException e) { e.printStackTrace(); return null; } }).toArray()); assertEquals(String.class, Class.forName(((ClassTypeInfo) model.getPropertyMap().get("annotatedWithClassValue").getAnnotations().get(0).getMember("defaultValue")).getName())); }
@Test public void testDataObjectWithAnnotations() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(DataObjectWithAnnotatedField.class); assertNotNull(model); assertTrue(model.isClass()); assertTrue(model.getGenerateConverter()); assertTrue(model.isPublicConverter()); PropertyInfo idModel = model.getPropertyMap().get("id"); assertEquals(1, idModel.getAnnotations().size()); assertNotNull(idModel.getAnnotation(SomeAnnotation.class.getName()).getName()); PropertyInfo fieldWithMethodAnnotationModel = model.getPropertyMap().get("fieldWithMethodAnnotation"); assertEquals(2, fieldWithMethodAnnotationModel.getAnnotations().size()); assertNotNull(fieldWithMethodAnnotationModel.getAnnotation(SomeAnnotation.class.getName()).getName()); assertNotNull(fieldWithMethodAnnotationModel.getAnnotation(SomeMethodAnnotation.class.getName()).getName()); }