diff --git a/jaxb-plugins-parent/tests/fluentapi/pom.xml b/jaxb-plugins-parent/tests/fluentapi/pom.xml new file mode 100644 index 000000000..56f5fb2d8 --- /dev/null +++ b/jaxb-plugins-parent/tests/fluentapi/pom.xml @@ -0,0 +1,41 @@ + + 4.0.0 + + org.jvnet.jaxb + jaxb-plugins-tests + 4.0.6-SNAPSHOT + + jaxb-plugins-test-fluentapi + jar + JAXB Tools :: JAXB Plugins :: Test [fluent-api] + + + org.jvnet.jaxb + jaxb-maven-plugin-testing + test + + + + test + + + org.jvnet.jaxb + jaxb-maven-plugin + + true + + -Xfluent-api + + + + org.jvnet.jaxb + jaxb-plugins + + + + + + + diff --git a/jaxb-plugins-parent/tests/fluentapi/src/main/resources/Example.xsd b/jaxb-plugins-parent/tests/fluentapi/src/main/resources/Example.xsd new file mode 100644 index 000000000..e05637e3d --- /dev/null +++ b/jaxb-plugins-parent/tests/fluentapi/src/main/resources/Example.xsd @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jaxb-plugins-parent/tests/fluentapi/src/test/java/org/jvnet/jaxb/tests/fluentapi/BaseTest.java b/jaxb-plugins-parent/tests/fluentapi/src/test/java/org/jvnet/jaxb/tests/fluentapi/BaseTest.java new file mode 100644 index 000000000..2945b03a2 --- /dev/null +++ b/jaxb-plugins-parent/tests/fluentapi/src/test/java/org/jvnet/jaxb/tests/fluentapi/BaseTest.java @@ -0,0 +1,38 @@ +package org.jvnet.jaxb.tests.fluentapi; + +import generated.Base; +import org.junit.Assert; +import org.junit.Test; + +import javax.xml.datatype.DatatypeConfigurationException; +import javax.xml.datatype.DatatypeFactory; +import javax.xml.datatype.XMLGregorianCalendar; +import java.nio.charset.StandardCharsets; +import java.util.Arrays; +import java.util.GregorianCalendar; + +public class BaseTest { + + @Test + public void testBase() throws DatatypeConfigurationException { + XMLGregorianCalendar xgc = DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()); + byte[] textBytes = "String".getBytes(StandardCharsets.UTF_8); + Base b = new Base() + .withA("String") + .withB(xgc) + .withC(xgc) + .withD(xgc) + .withE(textBytes) + .withListOfString("a", "b", "c") + .withListOfString(Arrays.asList("e", "f", "g")); + + Assert.assertEquals("String", b.getA()); + Assert.assertEquals(xgc, b.getB()); + Assert.assertEquals(xgc, b.getC()); + Assert.assertEquals(xgc, b.getD()); + Assert.assertEquals(textBytes, b.getE()); + Assert.assertNotNull(b.getListOfString()); + Assert.assertEquals(6, b.getListOfString().size()); + Assert.assertTrue(b.getListOfString().containsAll(Arrays.asList("a", "b", "c", "e", "f", "g"))); + } +} diff --git a/jaxb-plugins-parent/tests/fluentapi/src/test/java/org/jvnet/jaxb/tests/fluentapi/PrimitivesAndUnboxedPrimitivesTest.java b/jaxb-plugins-parent/tests/fluentapi/src/test/java/org/jvnet/jaxb/tests/fluentapi/PrimitivesAndUnboxedPrimitivesTest.java new file mode 100644 index 000000000..006b6c7f6 --- /dev/null +++ b/jaxb-plugins-parent/tests/fluentapi/src/test/java/org/jvnet/jaxb/tests/fluentapi/PrimitivesAndUnboxedPrimitivesTest.java @@ -0,0 +1,49 @@ +package org.jvnet.jaxb.tests.fluentapi; + +import generated.Primitives; +import generated.UnboxedPrimitives; +import org.junit.Assert; +import org.junit.Test; + +public class PrimitivesAndUnboxedPrimitivesTest { + + @Test + public void testPrimitives() { + Primitives p = new Primitives() + .withBoolean(true) + .withInt(1) + .withLong(10L) + .withDouble(20d) + .withFloat(40.0f) + .withByte((byte) 80) + .withShort((short) 160); + + Assert.assertEquals(true, p.isBoolean()); + Assert.assertEquals(1, p.getInt()); + Assert.assertEquals(10L, p.getLong()); + Assert.assertEquals(20d, p.getDouble(), 0); + Assert.assertEquals(40.0f, p.getFloat(), 0); + Assert.assertEquals((byte) 80, p.getByte()); + Assert.assertEquals((short) 160, p.getShort()); + } + + @Test + public void testUnboxedPrimitives() { + UnboxedPrimitives u = new UnboxedPrimitives() + .withUnboxedBoolean(Boolean.TRUE) + .withUnboxedInt(Integer.valueOf(1)) + .withUnboxedLong(Long.valueOf(10)) + .withUnboxedDouble(Double.valueOf(20d)) + .withUnboxedFloat(Float.valueOf(40.0f)) + .withUnboxedByte(Byte.valueOf((byte) 80)) + .withUnboxedShort(Short.valueOf((short) 160)); + + Assert.assertEquals(Boolean.TRUE, u.isUnboxedBoolean()); + Assert.assertEquals(Integer.valueOf(1), u.getUnboxedInt()); + Assert.assertEquals(Long.valueOf(10), u.getUnboxedLong()); + Assert.assertEquals(Double.valueOf(20d), u.getUnboxedDouble()); + Assert.assertEquals(Float.valueOf(40.0f), u.getUnboxedFloat()); + Assert.assertEquals(Byte.valueOf((byte) 80), u.getUnboxedByte()); + Assert.assertEquals(Short.valueOf((short) 160), u.getUnboxedShort()); + } +} diff --git a/jaxb-plugins-parent/tests/fluentapi/src/test/resources/log4j.properties b/jaxb-plugins-parent/tests/fluentapi/src/test/resources/log4j.properties new file mode 100644 index 000000000..ca4ee5e2c --- /dev/null +++ b/jaxb-plugins-parent/tests/fluentapi/src/test/resources/log4j.properties @@ -0,0 +1,5 @@ +log4j.rootCategory=DEBUG, stdout +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.target=system.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n diff --git a/jaxb-plugins-parent/tests/pom.xml b/jaxb-plugins-parent/tests/pom.xml index 886be6a25..455821425 100644 --- a/jaxb-plugins-parent/tests/pom.xml +++ b/jaxb-plugins-parent/tests/pom.xml @@ -20,6 +20,7 @@ defaultvalue elementwrapper episodes + fluentapi ignoring issues issues-legacy-ns