package org.xenei.jdbc4sparql.iface.name;
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
public class NameSegmentTest {
private final FQName baseName;
private final NameSegments segments;
private final boolean catalog;
private final boolean schema;
private final boolean table;
private final boolean column;
public NameSegmentTest(final Boolean catalog, final Boolean schema,
final Boolean table, final Boolean column) {
segments = NameSegments.getInstance(catalog, schema, table, column);
baseName = new FQNameImpl("catalog", "schema", "table", "column");
this.catalog = catalog;
this.schema = schema;
this.table = table;
this.column = column;
}
@Parameters(name = "catalog:{0} schema:{1} table:{2} col:{3}")
public static Collection<Boolean[]> data() {
final Boolean vals[] = new Boolean[] {
Boolean.TRUE, Boolean.FALSE
};
final List<Boolean[]> lst = new ArrayList<Boolean[]>();
for (final Boolean catalog : vals) {
for (final Boolean schema : vals) {
for (final Boolean table : vals) {
for (final Boolean column : vals) {
lst.add(new Boolean[] {
catalog, schema, table, column
});
}
}
}
}
return lst;
}
@Test
public void testGetCatalog() {
assertEquals(catalog ? "catalog" : null, segments.getCatalog(baseName));
}
@Test
public void testGetSchema() {
assertEquals(schema ? "schema" : null, segments.getSchema(baseName));
}
@Test
public void testGetTable() {
assertEquals(table ? "table" : null, segments.getTable(baseName));
}
@Test
public void testGetColumn() {
assertEquals(column ? "column" : null, segments.getColumn(baseName));
}
}