package com.bigdata.rdf.internal;
import java.util.UUID;
import junit.framework.TestCase2;
import org.junit.Test;
import com.bigdata.rdf.internal.impl.literal.UUIDLiteralIV;
import com.bigdata.rdf.internal.impl.literal.XSDNumericIV;
import com.bigdata.rdf.internal.impl.uri.URIExtensionIV;
/**
* Test suite for {@link URIExtensionIV}.
*/
public class TestInlineURIHandlers extends TestCase2 {
public TestInlineURIHandlers() {
}
public TestInlineURIHandlers(String name) {
super(name);
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testPrefixedIntegerURIHandler() {
final String nameSpace = "http://blazegraph.com/";
final String localName = "DB1234";
final String fixture = "DB";
final int intValue = 1234;
InlinePrefixedIntegerURIHandler handler = new InlinePrefixedIntegerURIHandler(nameSpace, fixture);
XSDNumericIV iv = (XSDNumericIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (intValue == iv.getInlineValue().intValue());
assertTrue (localName.equals(handler.getLocalNameFromDelegate(iv)));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testSuffixedIntegerURIHandler() {
final String nameSpace = "http://blazegraph.com/";
final String localName = "1234DB";
final String fixture = "DB";
final int intValue = 1234;
InlineSuffixedIntegerURIHandler handler = new InlineSuffixedIntegerURIHandler(nameSpace, fixture);
XSDNumericIV iv = (XSDNumericIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (intValue == iv.getInlineValue().intValue());
assertTrue (localName.equals(handler.getLocalNameFromDelegate(iv)));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testFixedWidthIntegerURIHandler() {
final String nameSpace = "http://blazegraph.com/";
final String localName = "001234";
final int intValue = 1234;
final int width = 6;
InlineFixedWidthIntegerURIHandler handler = new InlineFixedWidthIntegerURIHandler(nameSpace, width);
XSDNumericIV iv = (XSDNumericIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (intValue == iv.getInlineValue().intValue());
assertTrue (localName.equals(handler.getLocalNameFromDelegate(iv)));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testFixedWidthIntegerURIHandlerFail() {
final String nameSpace = "http://blazegraph.com/";
final String localName = "001234";
final int intValue = 1234;
final int width = 7;
InlineFixedWidthIntegerURIHandler handler = new InlineFixedWidthIntegerURIHandler(nameSpace, width);
XSDNumericIV iv = (XSDNumericIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (intValue == iv.getInlineValue().intValue());
//These should be equal as the width is 7
assertTrue (!localName.equals(handler.getLocalNameFromDelegate(iv)));
//Should be the 7 digit with padded zeros
assertTrue (String.format("%0"+width+"d",intValue).equals(handler.getLocalNameFromDelegate(iv)));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testPrefixFixedWidthIntegerURIHandler() {
final String nameSpace = "http://blazegraph.com/";
final String localName = "PREFIX_001234";
final String fixture = "PREFIX_";
final int intValue = 1234;
final int width = 6;
InlinePrefixedFixedWidthIntegerURIHandler handler = new InlinePrefixedFixedWidthIntegerURIHandler(nameSpace, fixture, width);
XSDNumericIV iv = (XSDNumericIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (intValue == iv.getInlineValue().intValue());
assertTrue (localName.equals(handler.getLocalNameFromDelegate(iv)));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testSuffixFixedWidthIntegerURIHandler() {
final String nameSpace = "http://blazegraph.com/";
final String localName = "001234_SUFFIX";
final String fixture = "_SUFFIX";
final int intValue = 1234;
final int width = 6;
InlineSuffixedFixedWidthIntegerURIHandler handler = new InlineSuffixedFixedWidthIntegerURIHandler(nameSpace, fixture, width);
XSDNumericIV iv = (XSDNumericIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (iv != null);
assertTrue (intValue == iv.getInlineValue().intValue());
assertTrue (localName.equals(handler.getLocalNameFromDelegate(iv)));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testPrefixedSuffixFixedWidthIntegerURIHandler() {
final String nameSpace = "http://blazegraph.com/";
final String localName = "PRE_001234_SUFFIX";
final String pre = "PRE_";
final String fixture = "_SUFFIX";
final int intValue = 1234;
final int width = 6;
InlinePrefixedSuffixedFixedWidthIntegerURIHandler handler = new InlinePrefixedSuffixedFixedWidthIntegerURIHandler(nameSpace, pre, fixture, width);
XSDNumericIV iv = (XSDNumericIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (iv != null);
assertTrue (intValue == iv.getInlineValue().intValue());
assertTrue (localName.equals(handler.getLocalNameFromDelegate(iv)));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testPrefixedSuffixIntegerURIHandler() {
final String nameSpace = "http://blazegraph.com/";
final String localName = "PRE_1234_SUFFIX";
final String pre = "PRE_";
final String fixture = "_SUFFIX";
final int intValue = 1234;
InlinePrefixedSuffixedIntegerURIHandler handler = new InlinePrefixedSuffixedIntegerURIHandler(nameSpace, pre, fixture);
XSDNumericIV iv = (XSDNumericIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (iv != null);
assertTrue (intValue == iv.getInlineValue().intValue());
assertTrue (localName.equals(handler.getLocalNameFromDelegate(iv)));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testHexUUIDURIHandler() {
final String nameSpace = "http://blazegraph.com/hex_uuid/";
final String localName = "010072F0000038090100000000D56C9E";
InlineHexUUIDURIHandler handler = new InlineHexUUIDURIHandler(nameSpace);
UUIDLiteralIV iv = (UUIDLiteralIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (iv != null);
assertTrue (localName.equals(handler.getLocalNameFromDelegate(iv)));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testSuffixedHexUUIDURIHandler() {
final String nameSpace = "http://blazegraph.com/hex_uuid/";
final String suffix = "suffix";
final String localName = "010072F0000038090100000000D56C9E"+suffix;
InlineSuffixedHexUUIDURIHandler handler = new InlineSuffixedHexUUIDURIHandler(nameSpace, suffix);
UUIDLiteralIV iv = (UUIDLiteralIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (iv != null);
assertTrue (localName.equals(handler.getLocalNameFromDelegate(iv)));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testSuffixedUUIDURIHandler() {
final String nameSpace = "http://blazegraph.com/uuid/";
final UUID uuid = UUID.randomUUID();
final String suffix = "suffix";
final String localName = uuid.toString()+suffix;
InlineSuffixedUUIDURIHandler handler = new InlineSuffixedUUIDURIHandler(nameSpace, suffix);
UUIDLiteralIV iv = (UUIDLiteralIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (iv != null);
assertTrue (localName.equals(handler.getLocalNameFromDelegate(iv)));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testPrefixedSuffixedHexUUIDURIHandler() {
final String nameSpace = "http://blazegraph.com/hex_uuid/";
final String prefix = "prefix";
final String suffix = "suffix";
final String localName = prefix+"010072F0000038090100000000D56C9E"+suffix;
InlinePrefixedSuffixedHexUUIDURIHandler handler = new InlinePrefixedSuffixedHexUUIDURIHandler(nameSpace, prefix, suffix);
UUIDLiteralIV iv = (UUIDLiteralIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (iv != null);
assertTrue (localName.equals(handler.getLocalNameFromDelegate(iv)));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testPrefixedSuffixedUUIDURIHandler() {
final String nameSpace = "http://blazegraph.com/uuid/";
final UUID uuid = UUID.randomUUID();
final String prefix = "prefix";
final String suffix = "suffix";
final String localName = prefix+uuid.toString()+suffix;
InlinePrefixedSuffixedUUIDURIHandler handler = new InlinePrefixedSuffixedUUIDURIHandler(
nameSpace, prefix, suffix);
UUIDLiteralIV iv = (UUIDLiteralIV) handler.createInlineIV(localName);
if(log.isDebugEnabled()) {
log.debug(iv.getDTE().name());
}
assertTrue (iv != null);
assertTrue (localName.equals(handler.getLocalNameFromDelegate(iv)));
}
}