package org.xenei.jdbc4sparql.iface.name; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.fail; import org.junit.Test; import org.xenei.jdbc4sparql.impl.NameUtils; public class CatalogNameTests { private CatalogName catalogName; public CatalogNameTests() { } @Test public void testCatalog() { catalogName = new CatalogName("catalog"); assertEquals("catalog", catalogName.getCatalog()); assertNull(catalogName.getSchema()); assertNull(catalogName.getColumn()); assertNull(catalogName.getTable()); assertEquals("catalog", catalogName.getDBName()); assertEquals("catalog", catalogName.getSPARQLName()); assertEquals("catalog", catalogName.getShortName()); } @Test public void testCatalogFromCatalog() { catalogName = new CatalogName(new CatalogName("catalog")); assertEquals("catalog", catalogName.getCatalog()); assertNull(catalogName.getSchema()); assertNull(catalogName.getColumn()); assertNull(catalogName.getTable()); assertEquals("catalog", catalogName.getDBName()); assertEquals("catalog", catalogName.getSPARQLName()); assertEquals("catalog", catalogName.getShortName()); } @Test public void testCatalogFromOtherItemName() { final ItemName itemName = new SearchName("catalog", "schema", "table", "column"); catalogName = new CatalogName(itemName); assertEquals("catalog", catalogName.getCatalog()); assertNull(catalogName.getSchema()); assertNull(catalogName.getColumn()); assertNull(catalogName.getTable()); assertEquals("catalog", catalogName.getDBName()); assertEquals("catalog", catalogName.getSPARQLName()); assertEquals("catalog", catalogName.getShortName()); } @Test public void testCatalogWithDBDot() { try { catalogName = new CatalogName("cata" + NameUtils.DB_DOT + "log"); fail("Should have thrown IllegalArgumentException"); } catch (final IllegalArgumentException expected) { assertEquals("Catalog name may not contain '.'", expected.getMessage()); } } @Test public void testCatalogWithSPARQLDot() { try { catalogName = new CatalogName("cata" + NameUtils.SPARQL_DOT + "log"); fail("Should have thrown IllegalArgumentException"); } catch (final IllegalArgumentException expected) { assertEquals("Catalog name may not contain '" + NameUtils.SPARQL_DOT + "'", expected.getMessage()); } } @Test public void testEmptyCatalog() { catalogName = new CatalogName(""); assertEquals("", catalogName.getCatalog()); assertNull(catalogName.getSchema()); assertNull(catalogName.getColumn()); assertNull(catalogName.getTable()); assertEquals("", catalogName.getDBName()); assertEquals("", catalogName.getSPARQLName()); assertEquals("", catalogName.getShortName()); } @Test public void testEmptyCatalogFromCatalog() { catalogName = new CatalogName(new CatalogName("")); assertEquals("", catalogName.getCatalog()); assertNull(catalogName.getSchema()); assertNull(catalogName.getColumn()); assertNull(catalogName.getTable()); assertEquals("", catalogName.getDBName()); assertEquals("", catalogName.getSPARQLName()); assertEquals("", catalogName.getShortName()); } }