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#";;
+    }
+
+}

Reply via email to