package org.xenei.jdbc4sparql.impl.rdf; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.xenei.jdbc4sparql.iface.Key; import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; public class KeyBuilderTests { private Model model; @Before public void setUp() throws Exception { model = ModelFactory.createDefaultModel(); } @After public void tearDown() throws Exception { model.close(); } @Test public void testDefault() { final RdfKeySegment.Builder segBuilder = new RdfKeySegment.Builder(); final RdfKey.Builder builder = new RdfKey.Builder() .addSegment(segBuilder.build(model)); final Key key = builder.build(model); Assert.assertEquals(false, key.isUnique()); Assert.assertEquals(1, key.getSegments().size()); Assert.assertEquals(segBuilder.build(model), key.getSegments().get(0)); } @Test public void testMultipleSegments() { final RdfKeySegment.Builder segBuilder = new RdfKeySegment.Builder(); final RdfKey.Builder builder = new RdfKey.Builder().addSegment( segBuilder.build(model)).addSegment( segBuilder.setAscending(false).setIdx(1).build(model)); final Key key = builder.build(model); Assert.assertEquals(false, key.isUnique()); Assert.assertEquals(2, key.getSegments().size()); Assert.assertEquals(segBuilder.build(model), key.getSegments().get(1)); } @Test public void testUnique() { final RdfKeySegment.Builder segBuilder = new RdfKeySegment.Builder(); final RdfKey.Builder builder = new RdfKey.Builder().addSegment( segBuilder.build(model)).setUnique(true); final Key key = builder.build(model); Assert.assertEquals(true, key.isUnique()); Assert.assertEquals(1, key.getSegments().size()); Assert.assertEquals(segBuilder.build(model), key.getSegments().get(0)); } }