Added Tests for MARMOTTA-235 Project: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/commit/4f41c8f1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/tree/4f41c8f1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/diff/4f41c8f1
Branch: refs/heads/develop Commit: 4f41c8f1a1d035417c45197c9ef84a175104d242 Parents: e12a731 Author: Jakob Frank <[email protected]> Authored: Tue May 7 10:23:33 2013 +0200 Committer: Jakob Frank <[email protected]> Committed: Tue May 7 10:23:33 2013 +0200 ---------------------------------------------------------------------- .../facading/primitive/BoxedFacadingTest.java | 139 +++++++++++++++ .../facading/primitive/PrimitiveFacadingTest.java | 113 ++++++++++++ .../sesame/facading/primitive/model/Boxed.java | 34 ++++ .../sesame/facading/primitive/model/Primitive.java | 30 +++ .../facading/primitive/model/PropBuilder.java | 12 ++ 5 files changed, 328 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/4f41c8f1/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/BoxedFacadingTest.java ---------------------------------------------------------------------- diff --git a/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/BoxedFacadingTest.java b/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/BoxedFacadingTest.java new file mode 100644 index 0000000..d8bebc5 --- /dev/null +++ b/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/BoxedFacadingTest.java @@ -0,0 +1,139 @@ +package org.apache.marmotta.commons.sesame.facading.primitive; + +import java.util.Date; +import java.util.Locale; +import java.util.Random; +import java.util.UUID; + +import org.apache.marmotta.commons.sesame.facading.AbstractFacadingTest; +import org.apache.marmotta.commons.sesame.facading.FacadingFactory; +import org.apache.marmotta.commons.sesame.facading.api.Facading; +import org.apache.marmotta.commons.sesame.facading.primitive.model.Boxed; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.openrdf.model.URI; +import org.openrdf.repository.RepositoryConnection; +import org.openrdf.repository.RepositoryException; + +public class BoxedFacadingTest extends AbstractFacadingTest { + + private URI subject; + private Random random; + private RepositoryConnection facadingConnection; + private Boxed boxed; + + @Before + public void before() throws Exception { + subject = repositoryRDF.getValueFactory().createURI("urn:", UUID.randomUUID().toString()); + random = new Random(); + + facadingConnection = repositoryRDF.getConnection(); + facadingConnection.begin(); + final Facading factory = FacadingFactory.createFacading(facadingConnection); + boxed = factory.createFacade(subject, Boxed.class); + } + + @After + public void after() throws Exception { + if (facadingConnection != null) { + if (facadingConnection.isActive()) facadingConnection.rollback(); + facadingConnection.close(); + } + } + + @Test + public void testString() throws RepositoryException { + final String string = UUID.randomUUID().toString(); + + Assert.assertNull(boxed.getString()); + boxed.setString(string); + Assert.assertEquals(string, boxed.getString()); + } + + @Test + public void testInteger() { + final Integer i = new Integer(random.nextInt()); + + Assert.assertEquals(new Integer(0), boxed.getInteger()); + boxed.setInteger(i); + Assert.assertEquals(i, boxed.getInteger()); + } + + @Test + public void testLong() { + final Long l = new Long(random.nextLong()); + + Assert.assertEquals(new Long(0), boxed.getLong()); + boxed.setLong(l); + Assert.assertEquals(l, boxed.getLong()); + } + + @Test + public void testFloat() { + final Float f = new Float(random.nextFloat()); + + Assert.assertEquals(0f, boxed.getFloat().floatValue(), 10e-9); + boxed.setFloat(f); + Assert.assertEquals(f, boxed.getFloat().floatValue(), 10e-9); + } + + @Test + public void testDouble() { + final Double d = new Double(random.nextDouble()); + + Assert.assertEquals(0d, boxed.getDouble().doubleValue(), 10e-12); + boxed.setDouble(d); + Assert.assertEquals(d, boxed.getDouble().doubleValue(), 10e-12); + } + + @Test + public void testCharacter() { + final Character c = new Character((char) random.nextInt(255)); + + Assert.assertNull(boxed.getCharacter()); + boxed.setCharacter(c); + Assert.assertEquals(c, boxed.getCharacter()); + } + + @Test + public void testByte() { + final Byte b = new Byte((byte) random.nextInt(Byte.MAX_VALUE)); + + Assert.assertEquals(new Byte((byte)0), boxed.getByte()); + boxed.setByte(b); + Assert.assertEquals(b, boxed.getByte()); + } + + @Test + public void testBoolean() { + Assert.assertFalse(boxed.getBoolean()); + boxed.setBoolean(Boolean.FALSE); + Assert.assertFalse(boxed.getBoolean()); + boxed.setBoolean(Boolean.TRUE); + Assert.assertTrue(boxed.getBoolean()); + } + + @Test + public void testLocale() { + Assert.assertNull(boxed.getLocale()); + + for (Locale l: Locale.getAvailableLocales()) { + boxed.setLocale(l); + Assert.assertEquals(l, boxed.getLocale()); + } + } + + @Test + public void testGetDate() { + /* Dates are stored with seconds-precision */ + final Date d = new Date(1000*((random.nextLong()%System.currentTimeMillis())/1000)); + + Assert.assertNull(boxed.getDate()); + boxed.setDate(d); + Assert.assertEquals(d, boxed.getDate()); + } + + +} http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/4f41c8f1/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/PrimitiveFacadingTest.java ---------------------------------------------------------------------- diff --git a/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/PrimitiveFacadingTest.java b/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/PrimitiveFacadingTest.java new file mode 100644 index 0000000..2a65546 --- /dev/null +++ b/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/PrimitiveFacadingTest.java @@ -0,0 +1,113 @@ +package org.apache.marmotta.commons.sesame.facading.primitive; + +import java.util.Random; +import java.util.UUID; + +import org.apache.marmotta.commons.sesame.facading.AbstractFacadingTest; +import org.apache.marmotta.commons.sesame.facading.FacadingFactory; +import org.apache.marmotta.commons.sesame.facading.api.Facading; +import org.apache.marmotta.commons.sesame.facading.primitive.model.Primitive; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.openrdf.model.URI; +import org.openrdf.repository.RepositoryConnection; +import org.openrdf.repository.RepositoryException; + +public class PrimitiveFacadingTest extends AbstractFacadingTest { + + private static final int ITERATIONS = 2500; + + private URI subject; + private Random random; + private RepositoryConnection facadingConnection; + private Primitive primitive; + + @Before + public void before() throws Exception { + subject = repositoryRDF.getValueFactory().createURI("urn:", UUID.randomUUID().toString()); + random = new Random(); + + facadingConnection = repositoryRDF.getConnection(); + facadingConnection.begin(); + final Facading factory = FacadingFactory.createFacading(facadingConnection); + primitive = factory.createFacade(subject, Primitive.class); + + } + + @After + public void after() throws RepositoryException { + if (facadingConnection != null) { + if (facadingConnection.isActive()) facadingConnection.rollback(); + facadingConnection.close(); + } + } + + @Test + public void testInt() { + + for (int j =0; j < ITERATIONS; j++) { + Assert.assertEquals(0, primitive.getInt()); + } + final int i = random.nextInt(); + primitive.setInt(i); + Assert.assertEquals(i, primitive.getInt()); + } + + @Test + public void testByte() { + final byte b = (byte) random.nextInt(Byte.MAX_VALUE); + + Assert.assertEquals(0, primitive.getByte()); + primitive.setByte(b); + Assert.assertEquals(b, primitive.getByte()); + } + + @Test + public void testFloat() { + final float f = random.nextFloat(); + + Assert.assertEquals(0f, primitive.getFloat(), 10e-9); + primitive.setFloat(f); + Assert.assertEquals(f, primitive.getFloat(), 10e-9); + } + + @Test + public void testDouble() { + final double d = random.nextDouble(); + + Assert.assertEquals(0d, primitive.getDouble(), 10e-12); + primitive.setDouble(d); + Assert.assertEquals(d, primitive.getDouble(), 10e-12); + } + + @Test + public void testLong() { + final long l = random.nextLong(); + + Assert.assertEquals(0l, primitive.getLong()); + primitive.setLong(l); + Assert.assertEquals(l, primitive.getLong()); + } + + + @Test + public void testGetBoolean() { + Assert.assertFalse(primitive.getBoolean()); + primitive.setBoolean(false); + Assert.assertFalse(primitive.getBoolean()); + primitive.setBoolean(true); + Assert.assertTrue(primitive.getBoolean()); + } + + @Test + public void testGetChar() { + final char c = (char) random.nextInt(255); + + Assert.assertEquals(0, primitive.getChar()); + primitive.setChar(c); + Assert.assertEquals(c, primitive.getChar()); + } + +} http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/4f41c8f1/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/model/Boxed.java ---------------------------------------------------------------------- diff --git a/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/model/Boxed.java b/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/model/Boxed.java new file mode 100644 index 0000000..b15bd16 --- /dev/null +++ b/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/model/Boxed.java @@ -0,0 +1,34 @@ +package org.apache.marmotta.commons.sesame.facading.primitive.model; + +import java.util.Date; +import java.util.Locale; + +import org.apache.marmotta.commons.sesame.facading.annotations.RDFPropertyBuilder; +import org.apache.marmotta.commons.sesame.facading.model.Facade; + +@RDFPropertyBuilder(PropBuilder.class) +public interface Boxed extends Facade { + + public Integer getInteger(); + public void setInteger(Integer integer); + public Long getLong(); + public void setLong(Long l); + public Float getFloat(); + public void setFloat(Float f); + public Double getDouble(); + public void setDouble(Double d); + public Character getCharacter(); + public void setCharacter(Character character); + public Byte getByte(); + public void setByte(Byte b); + public Boolean getBoolean(); + public void setBoolean(Boolean b); + public Locale getLocale(); + public void setLocale(Locale locale); + public String getString(); + public void setString(String string); + public Date getDate(); + public void setDate(Date date); + + +} http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/4f41c8f1/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/model/Primitive.java ---------------------------------------------------------------------- diff --git a/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/model/Primitive.java b/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/model/Primitive.java new file mode 100644 index 0000000..caf5333 --- /dev/null +++ b/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/model/Primitive.java @@ -0,0 +1,30 @@ +package org.apache.marmotta.commons.sesame.facading.primitive.model; + +import org.apache.marmotta.commons.sesame.facading.annotations.RDFPropertyBuilder; +import org.apache.marmotta.commons.sesame.facading.model.Facade; + +@RDFPropertyBuilder(PropBuilder.class) +public interface Primitive extends Facade { + + public int getInt(); + public void setInt(int i); + + public float getFloat(); + public void setFloat(float f); + + public double getDouble(); + public void setDouble(double d); + + public long getLong(); + public void setLong(long l); + + public boolean getBoolean(); + public void setBoolean(boolean b); + + public char getChar(); + public void setChar(char c); + + public byte getByte(); + public void setByte(byte b); + +} http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/4f41c8f1/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/model/PropBuilder.java ---------------------------------------------------------------------- diff --git a/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/model/PropBuilder.java b/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/model/PropBuilder.java new file mode 100644 index 0000000..8d990ae --- /dev/null +++ b/commons/sesame-tools-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/model/PropBuilder.java @@ -0,0 +1,12 @@ +package org.apache.marmotta.commons.sesame.facading.primitive.model; + +import org.apache.marmotta.commons.sesame.facading.model.AbstractNamespacePropBuilder; + +public class PropBuilder extends AbstractNamespacePropBuilder { + + @Override + protected String getNamespace() { + return "http://persistence.text/prop#"; + } + +}
