package org.xenei.jdbc4sparql.impl.rdf;
import java.util.Set;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.xenei.jdbc4sparql.iface.Catalog;
import org.xenei.jdbc4sparql.iface.Schema;
import org.xenei.jdbc4sparql.meta.MetaCatalogBuilder;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
public class CatalogBuilderTest {
private Model model;
private RdfSchema.Builder schemaBldr;
@Before
public void setUp() throws Exception {
model = ModelFactory.createDefaultModel();
schemaBldr = new RdfSchema.Builder().setName("testSchema");
}
@After
public void tearDown() throws Exception {
model.close();
}
@Test
public void testAddSchema() {
final RdfCatalog.Builder builder = new RdfCatalog.Builder()
.setName("catalog");
final RdfCatalog catalog = builder.build(model);
Assert.assertEquals("catalog", catalog.getName().getShortName());
Assert.assertNotNull(catalog.getSchemas());
Assert.assertEquals(0, catalog.getSchemas().size());
schemaBldr.setCatalog(catalog);
schemaBldr.build(model);
Assert.assertNotNull(catalog.getSchemas());
Assert.assertEquals(1, catalog.getSchemas().size());
}
@Test
public void testDefault() {
final RdfCatalog.Builder builder = new RdfCatalog.Builder()
.setName("catalog");
final Catalog catalog = builder.build(model);
Assert.assertEquals("catalog", catalog.getName().getShortName());
Assert.assertNotNull(catalog.getSchemas());
Assert.assertEquals(0, catalog.getSchemas().size());
Assert.assertNull(catalog.getSchema(MetaCatalogBuilder.SCHEMA_NAME));
}
@Test
public void testFindSchema() {
final RdfCatalog.Builder builder = new RdfCatalog.Builder()
.setName("catalog");
final RdfCatalog catalog = builder.build(model);
schemaBldr.setCatalog(catalog).build(model);
Assert.assertNotNull(catalog.findSchemas("testSchema"));
Assert.assertNotNull(catalog.findSchemas(null));
}
@Test
public void testGetSchema() throws Exception {
final RdfCatalog.Builder builder = new RdfCatalog.Builder()
.setName("catalog");
final RdfCatalog catalog = builder.build(model);
schemaBldr.setCatalog(catalog).build(model);
Assert.assertNotNull(catalog.getSchema("testSchema"));
}
@Test
public void testGetSchemas() {
final RdfCatalog.Builder builder = new RdfCatalog.Builder()
.setName("catalog");
final RdfCatalog catalog = builder.build(model);
Set<? extends Schema> schemas = catalog.getSchemas();
Assert.assertNotNull(schemas);
Assert.assertEquals(0, schemas.size());
Assert.assertNull(catalog.getSchema(MetaCatalogBuilder.SCHEMA_NAME));
schemaBldr.setCatalog(catalog);
schemaBldr.build(model);
schemas = catalog.getSchemas();
Assert.assertNotNull(schemas);
Assert.assertEquals(1, schemas.size());
}
}