You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rya.apache.org by mi...@apache.org on 2015/12/07 13:04:48 UTC

[18/51] [partial] incubator-rya git commit: Cannot delete temp branch, doc'd it.

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/geo/GeoIndexerTest.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/geo/GeoIndexerTest.java b/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/geo/GeoIndexerTest.java
deleted file mode 100644
index 8ca96bc..0000000
--- a/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/geo/GeoIndexerTest.java
+++ /dev/null
@@ -1,370 +0,0 @@
-package mvm.rya.indexing.accumulo.geo;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import static mvm.rya.api.resolver.RdfToRyaConversions.convertStatement;
-import info.aduna.iteration.CloseableIteration;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.UUID;
-
-import mvm.rya.indexing.StatementContraints;
-import mvm.rya.indexing.accumulo.ConfigUtils;
-
-import org.apache.accumulo.core.client.admin.TableOperations;
-import org.apache.hadoop.conf.Configuration;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.openrdf.model.Resource;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.impl.ContextStatementImpl;
-import org.openrdf.model.impl.StatementImpl;
-import org.openrdf.model.impl.ValueFactoryImpl;
-
-import com.google.common.collect.Sets;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LinearRing;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.geom.PrecisionModel;
-import com.vividsolutions.jts.geom.impl.PackedCoordinateSequence;
-
-public class GeoIndexerTest {
-
-    private static final StatementContraints EMPTY_CONSTRAINTS = new StatementContraints();
-
-    Configuration conf;
-    GeometryFactory gf = new GeometryFactory(new PrecisionModel(), 4326);
-
-    @Before
-    public void before() throws Exception {
-        System.out.println(UUID.randomUUID().toString());
-        String tableName = "triplestore_geospacial";
-        conf = new Configuration();
-        conf.setBoolean(ConfigUtils.USE_MOCK_INSTANCE, true);
-        conf.set(ConfigUtils.CLOUDBASE_USER, "USERNAME");
-        conf.set(ConfigUtils.CLOUDBASE_PASSWORD, "PASS");
-        conf.set(ConfigUtils.GEO_TABLENAME, tableName);
-        conf.set(ConfigUtils.CLOUDBASE_AUTHS, "U");
-
-        TableOperations tops = ConfigUtils.getConnector(conf).tableOperations();
-        // get all of the table names with the prefix
-        Set<String> toDel = Sets.newHashSet();
-        for (String t : tops.list()){
-            if (t.startsWith(tableName)){
-                toDel.add(t);
-            }
-        }
-        for (String t : toDel) {
-            tops.delete(t);
-        }
-    }
-
-    @Test
-    public void testRestrictPredicatesSearch() throws Exception {
-        conf.setStrings(ConfigUtils.GEO_PREDICATES_LIST, "pred:1,pred:2");
-        GeoMesaGeoIndexer f = new GeoMesaGeoIndexer();
-        f.setConf(conf);
-
-        ValueFactory vf = new ValueFactoryImpl();
-
-        Point point = gf.createPoint(new Coordinate(10, 10));
-        Value pointValue = vf.createLiteral("Point(10 10)", GeoConstants.XMLSCHEMA_OGC_WKT);
-        URI invalidPredicate = GeoConstants.GEO_AS_WKT;
-
-        // These should not be stored because they are not in the predicate list
-        f.storeStatement(convertStatement(new StatementImpl(vf.createURI("foo:subj1"), invalidPredicate, pointValue)));
-        f.storeStatement(convertStatement(new StatementImpl(vf.createURI("foo:subj2"), invalidPredicate, pointValue)));
-
-        URI pred1 = vf.createURI("pred:1");
-        URI pred2 = vf.createURI("pred:2");
-
-        // These should be stored because they are in the predicate list
-        Statement s3 = new StatementImpl(vf.createURI("foo:subj3"), pred1, pointValue);
-        Statement s4 = new StatementImpl(vf.createURI("foo:subj4"), pred2, pointValue);
-        f.storeStatement(convertStatement(s3));
-        f.storeStatement(convertStatement(s4));
-
-        // This should not be stored because the object is not valid wkt
-        f.storeStatement(convertStatement(new StatementImpl(vf.createURI("foo:subj5"), pred1, vf.createLiteral("soint(10 10)"))));
-
-        // This should not be stored because the object is not a literal
-        f.storeStatement(convertStatement(new StatementImpl(vf.createURI("foo:subj6"), pred1, vf.createURI("p:Point(10 10)"))));
-
-        f.flush();
-
-        Set<Statement> actual = getSet(f.queryEquals(point, EMPTY_CONSTRAINTS));
-        Assert.assertEquals(2, actual.size());
-        Assert.assertTrue(actual.contains(s3));
-        Assert.assertTrue(actual.contains(s4));
-
-        f.close();
-    }
-
-    private static <X> Set<X> getSet(CloseableIteration<X, ?> iter) throws Exception {
-        Set<X> set = new HashSet<X>();
-        while (iter.hasNext()) {
-            set.add(iter.next());
-        }
-        return set;
-    }
-
-    @Test
-    public void testPrimeMeridianSearch() throws Exception {
-        
-        GeoMesaGeoIndexer f = new GeoMesaGeoIndexer();
-        f.setConf(conf);
-
-        ValueFactory vf = new ValueFactoryImpl();
-        Resource subject = vf.createURI("foo:subj");
-        URI predicate = GeoConstants.GEO_AS_WKT;
-        Value object = vf.createLiteral("Point(0 0)", GeoConstants.XMLSCHEMA_OGC_WKT);
-        Resource context = vf.createURI("foo:context");
-
-        Statement statement = new ContextStatementImpl(subject, predicate, object, context);
-        f.storeStatement(convertStatement(statement));
-        f.flush();
-
-        double[] ONE = { 1, 1, -1, 1, -1, -1, 1, -1, 1, 1 };
-        double[] TWO = { 2, 2, -2, 2, -2, -2, 2, -2, 2, 2 };
-        double[] THREE = { 3, 3, -3, 3, -3, -3, 3, -3, 3, 3 };
-
-        LinearRing r1 = gf.createLinearRing(new PackedCoordinateSequence.Double(ONE, 2));
-        LinearRing r2 = gf.createLinearRing(new PackedCoordinateSequence.Double(TWO, 2));
-        LinearRing r3 = gf.createLinearRing(new PackedCoordinateSequence.Double(THREE, 2));
-
-        Polygon p1 = gf.createPolygon(r1, new LinearRing[] {});
-        Polygon p2 = gf.createPolygon(r2, new LinearRing[] {});
-        Polygon p3 = gf.createPolygon(r3, new LinearRing[] {});
-
-        Assert.assertEquals(Sets.newHashSet(statement), getSet(f.queryWithin(p1, EMPTY_CONSTRAINTS)));
-        Assert.assertEquals(Sets.newHashSet(statement), getSet(f.queryWithin(p2, EMPTY_CONSTRAINTS)));
-        Assert.assertEquals(Sets.newHashSet(statement), getSet(f.queryWithin(p3, EMPTY_CONSTRAINTS)));
-
-        // Test a ring with a hole in it
-        Polygon p3m2 = gf.createPolygon(r3, new LinearRing[] { r2 });
-        Assert.assertEquals(Sets.newHashSet(), getSet(f.queryWithin(p3m2, EMPTY_CONSTRAINTS)));
-
-        // test a ring outside the point
-        double[] OUT = { 3, 3, 1, 3, 1, 1, 3, 1, 3, 3 };
-        LinearRing rOut = gf.createLinearRing(new PackedCoordinateSequence.Double(OUT, 2));
-        Polygon pOut = gf.createPolygon(rOut, new LinearRing[] {});
-        Assert.assertEquals(Sets.newHashSet(), getSet(f.queryWithin(pOut, EMPTY_CONSTRAINTS)));
-
-        f.close();
-    }
-
-    @Test
-    public void testDcSearch() throws Exception {
-        // test a ring around dc
-        GeoMesaGeoIndexer f = new GeoMesaGeoIndexer();
-        f.setConf(conf);
-
-        ValueFactory vf = new ValueFactoryImpl();
-        Resource subject = vf.createURI("foo:subj");
-        URI predicate = GeoConstants.GEO_AS_WKT;
-        Value object = vf.createLiteral("Point(-77.03524 38.889468)", GeoConstants.XMLSCHEMA_OGC_WKT);
-        Resource context = vf.createURI("foo:context");
-
-        Statement statement = new ContextStatementImpl(subject, predicate, object, context);
-        f.storeStatement(convertStatement(statement));
-        f.flush();
-
-        double[] IN = { -78, 39, -77, 39, -77, 38, -78, 38, -78, 39 };
-        LinearRing r1 = gf.createLinearRing(new PackedCoordinateSequence.Double(IN, 2));
-        Polygon p1 = gf.createPolygon(r1, new LinearRing[] {});
-        Assert.assertEquals(Sets.newHashSet(statement), getSet(f.queryWithin(p1, EMPTY_CONSTRAINTS)));
-
-        // test a ring outside the point
-        double[] OUT = { -77, 39, -76, 39, -76, 38, -77, 38, -77, 39 };
-        LinearRing rOut = gf.createLinearRing(new PackedCoordinateSequence.Double(OUT, 2));
-        Polygon pOut = gf.createPolygon(rOut, new LinearRing[] {});
-        Assert.assertEquals(Sets.newHashSet(), getSet(f.queryWithin(pOut, EMPTY_CONSTRAINTS)));
-
-        f.close();
-    }
-
-    @Test
-    public void testDcSearchWithContext() throws Exception {
-        // test a ring around dc
-        GeoMesaGeoIndexer f = new GeoMesaGeoIndexer();
-        f.setConf(conf);
-
-        ValueFactory vf = new ValueFactoryImpl();
-        Resource subject = vf.createURI("foo:subj");
-        URI predicate = GeoConstants.GEO_AS_WKT;
-        Value object = vf.createLiteral("Point(-77.03524 38.889468)", GeoConstants.XMLSCHEMA_OGC_WKT);
-        Resource context = vf.createURI("foo:context");
-
-        Statement statement = new ContextStatementImpl(subject, predicate, object, context);
-        f.storeStatement(convertStatement(statement));
-        f.flush();
-
-        double[] IN = { -78, 39, -77, 39, -77, 38, -78, 38, -78, 39 };
-        LinearRing r1 = gf.createLinearRing(new PackedCoordinateSequence.Double(IN, 2));
-        Polygon p1 = gf.createPolygon(r1, new LinearRing[] {});
-
-        // query with correct context
-        Assert.assertEquals(Sets.newHashSet(statement), getSet(f.queryWithin(p1, new StatementContraints().setContext(context))));
-
-        // query with wrong context
-        Assert.assertEquals(Sets.newHashSet(),
-                getSet(f.queryWithin(p1, new StatementContraints().setContext(vf.createURI("foo:context2")))));
-
-        f.close();
-    }
-
-    @Test
-    public void testDcSearchWithSubject() throws Exception {
-        // test a ring around dc
-        GeoMesaGeoIndexer f = new GeoMesaGeoIndexer();
-        f.setConf(conf);
-        
-        ValueFactory vf = new ValueFactoryImpl();
-        Resource subject = vf.createURI("foo:subj");
-        URI predicate = GeoConstants.GEO_AS_WKT;
-        Value object = vf.createLiteral("Point(-77.03524 38.889468)", GeoConstants.XMLSCHEMA_OGC_WKT);
-        Resource context = vf.createURI("foo:context");
-
-        Statement statement = new ContextStatementImpl(subject, predicate, object, context);
-        f.storeStatement(convertStatement(statement));
-        f.flush();
-
-        double[] IN = { -78, 39, -77, 39, -77, 38, -78, 38, -78, 39 };
-        LinearRing r1 = gf.createLinearRing(new PackedCoordinateSequence.Double(IN, 2));
-        Polygon p1 = gf.createPolygon(r1, new LinearRing[] {});
-
-        // query with correct subject
-        Assert.assertEquals(Sets.newHashSet(statement), getSet(f.queryWithin(p1, new StatementContraints().setSubject(subject))));
-
-        // query with wrong subject
-        Assert.assertEquals(Sets.newHashSet(), getSet(f.queryWithin(p1, new StatementContraints().setSubject(vf.createURI("foo:subj2")))));
-
-        f.close();
-    }
-
-    @Test
-    public void testDcSearchWithSubjectAndContext() throws Exception {
-        // test a ring around dc
-        GeoMesaGeoIndexer f = new GeoMesaGeoIndexer();
-        f.setConf(conf);
-
-        ValueFactory vf = new ValueFactoryImpl();
-        Resource subject = vf.createURI("foo:subj");
-        URI predicate = GeoConstants.GEO_AS_WKT;
-        Value object = vf.createLiteral("Point(-77.03524 38.889468)", GeoConstants.XMLSCHEMA_OGC_WKT);
-        Resource context = vf.createURI("foo:context");
-
-        Statement statement = new ContextStatementImpl(subject, predicate, object, context);
-        f.storeStatement(convertStatement(statement));
-        f.flush();
-
-        double[] IN = { -78, 39, -77, 39, -77, 38, -78, 38, -78, 39 };
-        LinearRing r1 = gf.createLinearRing(new PackedCoordinateSequence.Double(IN, 2));
-        Polygon p1 = gf.createPolygon(r1, new LinearRing[] {});
-
-        // query with correct context subject
-        Assert.assertEquals(Sets.newHashSet(statement),
-                getSet(f.queryWithin(p1, new StatementContraints().setContext(context).setSubject(subject))));
-
-        // query with wrong context
-        Assert.assertEquals(Sets.newHashSet(),
-                getSet(f.queryWithin(p1, new StatementContraints().setContext(vf.createURI("foo:context2")))));
-
-        // query with wrong subject
-        Assert.assertEquals(Sets.newHashSet(), getSet(f.queryWithin(p1, new StatementContraints().setSubject(vf.createURI("foo:subj2")))));
-
-        f.close();
-    }
-
-    @Test
-    public void testDcSearchWithPredicate() throws Exception {
-        // test a ring around dc
-        GeoMesaGeoIndexer f = new GeoMesaGeoIndexer();
-        f.setConf(conf);
-
-        ValueFactory vf = new ValueFactoryImpl();
-        Resource subject = vf.createURI("foo:subj");
-        URI predicate = GeoConstants.GEO_AS_WKT;
-        Value object = vf.createLiteral("Point(-77.03524 38.889468)", GeoConstants.XMLSCHEMA_OGC_WKT);
-        Resource context = vf.createURI("foo:context");
-
-        Statement statement = new ContextStatementImpl(subject, predicate, object, context);
-        f.storeStatement(convertStatement(statement));
-        f.flush();
-
-        double[] IN = { -78, 39, -77, 39, -77, 38, -78, 38, -78, 39 };
-        LinearRing r1 = gf.createLinearRing(new PackedCoordinateSequence.Double(IN, 2));
-        Polygon p1 = gf.createPolygon(r1, new LinearRing[] {});
-
-        // query with correct Predicate
-        Assert.assertEquals(Sets.newHashSet(statement),
-                getSet(f.queryWithin(p1, new StatementContraints().setPredicates(Collections.singleton(predicate)))));
-
-        // query with wrong predicate
-        Assert.assertEquals(Sets.newHashSet(),
-                getSet(f.queryWithin(p1, new StatementContraints().setPredicates(Collections.singleton(vf.createURI("other:pred"))))));
-
-        f.close();
-    }
-
-    // @Test
-    public void testAntiMeridianSearch() throws Exception {
-        // verify that a search works if the bounding box crosses the anti meridian
-        GeoMesaGeoIndexer f = new GeoMesaGeoIndexer();
-        f.setConf(conf);
-
-        ValueFactory vf = new ValueFactoryImpl();
-        Resource context = vf.createURI("foo:context");
-
-        Resource subjectEast = vf.createURI("foo:subj:east");
-        URI predicateEast = GeoConstants.GEO_AS_WKT;
-        Value objectEast = vf.createLiteral("Point(179 0)", GeoConstants.XMLSCHEMA_OGC_WKT);
-        Statement statementEast = new ContextStatementImpl(subjectEast, predicateEast, objectEast, context);
-        f.storeStatement(convertStatement(statementEast));
-
-        Resource subjectWest = vf.createURI("foo:subj:west");
-        URI predicateWest = GeoConstants.GEO_AS_WKT;
-        Value objectWest = vf.createLiteral("Point(-179 0)", GeoConstants.XMLSCHEMA_OGC_WKT);
-        Statement statementWest = new ContextStatementImpl(subjectWest, predicateWest, objectWest, context);
-        f.storeStatement(convertStatement(statementWest));
-
-        f.flush();
-
-        double[] ONE = { 178.1, 1, -178, 1, -178, -1, 178.1, -1, 178.1, 1 };
-
-        LinearRing r1 = gf.createLinearRing(new PackedCoordinateSequence.Double(ONE, 2));
-
-        Polygon p1 = gf.createPolygon(r1, new LinearRing[] {});
-
-        Assert.assertEquals(Sets.newHashSet(statementEast, statementWest), getSet(f.queryWithin(p1, EMPTY_CONSTRAINTS)));
-
-        f.close();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/temporal/AccumuloTemporalIndexerTest.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/temporal/AccumuloTemporalIndexerTest.java b/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/temporal/AccumuloTemporalIndexerTest.java
deleted file mode 100644
index 60d237d..0000000
--- a/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/temporal/AccumuloTemporalIndexerTest.java
+++ /dev/null
@@ -1,1040 +0,0 @@
-/**
- * 
- */
-package mvm.rya.indexing.accumulo.temporal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-import static mvm.rya.api.resolver.RdfToRyaConversions.convertStatement;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import info.aduna.iteration.CloseableIteration;
-
-import java.io.IOException;
-import java.io.PrintStream;
-import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicLong;
-
-import junit.framework.Assert;
-import mvm.rya.api.domain.RyaStatement;
-import mvm.rya.indexing.StatementContraints;
-import mvm.rya.indexing.TemporalInstant;
-import mvm.rya.indexing.TemporalInterval;
-import mvm.rya.indexing.accumulo.ConfigUtils;
-import mvm.rya.indexing.accumulo.StatementSerializer;
-
-import org.apache.accumulo.core.Constants;
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.Scanner;
-import org.apache.accumulo.core.client.TableExistsException;
-import org.apache.accumulo.core.client.TableNotFoundException;
-import org.apache.accumulo.core.client.admin.TableOperations;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Value;
-import org.apache.commons.codec.binary.StringUtils;
-import org.apache.commons.io.output.NullOutputStream;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.io.Text;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.impl.StatementImpl;
-import org.openrdf.model.impl.ValueFactoryImpl;
-import org.openrdf.model.vocabulary.RDFS;
-import org.openrdf.query.QueryEvaluationException;
-
-import com.beust.jcommander.internal.Lists;
-
-/**
- * JUnit tests for TemporalIndexer and it's implementation AccumuloTemporalIndexer
- * 
- * If you enjoy this test, please read RyaTemporalIndexerTest and YagoKBTest, which contain
- * many example SPARQL queries and updates and attempts to test independently of Accumulo:
- * 
- *     extras/indexingSail/src/test/java/mvm/rya/indexing/accumulo/RyaTemporalIndexerTest.java
- *     {@link mvm.rya.indexing.accumulo.RyaTemporalIndexerTest}
- *     {@link mvm.rya.indexing.accumulo.YagoKBTest.java}
- *     
- * Remember, this class in instantiated fresh for each @test method.
- * so fields are reset, unless they are static.
- * 
- * These are covered:
- *   Instance {before, equals, after} given Instance 
- *   Instance {before, after, inside} given Interval
- *   Instance {hasBeginning, hasEnd} given Interval
- * And a few more.
- * 
- */
-public final class AccumuloTemporalIndexerTest {
-    // Configuration properties, this is reset per test in setup.
-    Configuration conf;
-    // temporal indexer to test, this is created for each test method by setup.
-    AccumuloTemporalIndexer tIndexer;
-
-    private static final String URI_PROPERTY_EVENT_TIME = "Property:event:time";
-    private static final String URI_PROPERTY_CIRCA = "Property:circa";
-    private static final String URI_PROPERTY_AT_TIME = "Property:atTime";
-    private static final String STAT_COUNT = "count";
-    private static final String STAT_KEYHASH = "keyhash";
-    private static final String STAT_VALUEHASH = "valuehash";
-    private static final String TEST_TEMPORAL_INDEX_TABLE_NAME = "testTemporalIndex";
-    private static final StatementContraints EMPTY_CONSTRAINTS = new StatementContraints();
-
-    // Recreate table name for each test instance in this JVM.
-    String uniquePerTestTemporalIndexTableName = TEST_TEMPORAL_INDEX_TABLE_NAME + String.format("%05d", nextTableSuffixAtomic.getAndIncrement());
-    // start at 0, for uniqueness between jvm's consider AtomicLong(new Random().nextLong())
-    private static final AtomicLong nextTableSuffixAtomic = new AtomicLong();
-
-    // Assign this in setUpBeforeClass, store them in each test.
-    // setup() deletes table before each test.
-    static final Statement spo_B00_E01;
-    static final Statement spo_B03_E20;
-    static final Statement spo_B02_E29;
-    static final Statement spo_B02_E30;
-    static final Statement spo_B02_E40;
-    static final Statement spo_B02_E31;
-    static final Statement spo_B29_E30;
-    static final Statement spo_B30_E32;
-
-    // Instants:
-    static final Statement spo_B02;
-    static final int SERIES_OF_SECONDS = 41;
-    static final Statement seriesSpo[] = new Statement[SERIES_OF_SECONDS];
-
-    // These are shared for several tests. Only the seconds are different.
-    // tvB03_E20 read as: interval Begins 3 seconds, ends at 20 seconds
-    static final TemporalInterval tvB00_E01 = new TemporalInterval(//
-            makeInstant(00), //
-            makeInstant(01));
-    static final TemporalInterval tvB29_E30= new TemporalInterval(//
-            makeInstant(29), //
-            makeInstant(30));
-    static final TemporalInterval tvB30_E32= new TemporalInterval(//
-            makeInstant(30), //
-            makeInstant(32));
-    static final TemporalInterval tvB03_E20 = new TemporalInterval(//
-            makeInstant(03), //
-            makeInstant(20));
-    // 30 seconds, Begins earlier, ends later
-    static final TemporalInterval tvB02_E30= new TemporalInterval(//
-            makeInstant(02), //
-            makeInstant(30));
-    // use for interval after
-    static final TemporalInterval tvB02_E29= new TemporalInterval(//
-            makeInstant(02), //
-            makeInstant(29));
-    // same as above, but ends in the middle
-    static final TemporalInterval tvB02_E31 = new TemporalInterval(//
-            makeInstant(02), //
-            makeInstant(31));
-    // same as above, but ends even later
-    static final TemporalInterval tvB02_E40 = new TemporalInterval(//
-            makeInstant(02), //
-            makeInstant(40));
-    // instant, match beginnings of several above, before tiB03_E20
-    static final TemporalInstant tsB02 = makeInstant(02);
-    // instant, after all above
-    static final TemporalInstant tsB04 = makeInstant(04);
-
-    // Create a series of instants about times 0 - 40 seconds
-    static final TemporalInstant seriesTs[];
-    static {
-        seriesTs = new TemporalInstant[SERIES_OF_SECONDS];
-        for (int i = 0; i <= 40; i++)
-            seriesTs[i] = makeInstant(i);
-    };
-
-    /**
-     * Make an uniform instant with given seconds.
-     */
-    static TemporalInstant makeInstant(int secondsMakeMeUnique) {
-        return new TemporalInstantRfc3339(2015, 12, 30, 12, 00, secondsMakeMeUnique);
-    }
-
-    static {
-        // Setup the statements only once. Each test will store some of these in there own index table.
-        ValueFactory vf = new ValueFactoryImpl();
-        URI pred1_atTime = vf.createURI(URI_PROPERTY_AT_TIME);
-        // tiB03_E20 read as: time interval that Begins 3 seconds, ends at 20 seconds,
-        // Each time element the same, except seconds. year, month, .... minute are the same for each statement below.
-        spo_B00_E01 = new StatementImpl(vf.createURI("foo:event0"), pred1_atTime, vf.createLiteral(tvB00_E01.toString()));
-        spo_B02_E29 = new StatementImpl(vf.createURI("foo:event2"), pred1_atTime, vf.createLiteral(tvB02_E29.toString()));
-        spo_B02_E30 = new StatementImpl(vf.createURI("foo:event2"), pred1_atTime, vf.createLiteral(tvB02_E30.toString()));
-        spo_B02_E31 = new StatementImpl(vf.createURI("foo:event3"), pred1_atTime, vf.createLiteral(tvB02_E31.toString()));
-        spo_B02_E40 = new StatementImpl(vf.createURI("foo:event4"), pred1_atTime, vf.createLiteral(tvB02_E40.toString()));
-        spo_B03_E20 = new StatementImpl(vf.createURI("foo:event5"), pred1_atTime, vf.createLiteral(tvB03_E20.toString()));
-        spo_B29_E30 = new StatementImpl(vf.createURI("foo:event1"), pred1_atTime, vf.createLiteral(tvB29_E30.toString()));
-        spo_B30_E32 = new StatementImpl(vf.createURI("foo:event1"), pred1_atTime, vf.createLiteral(tvB30_E32.toString()));
-        spo_B02 = new StatementImpl(vf.createURI("foo:event6"), pred1_atTime, vf.createLiteral(tsB02.getAsReadable()));
-
-        // Create statements about time instants 0 - 40 seconds
-        for (int i = 0; i < seriesTs.length; i++) {
-            seriesSpo[i] = new StatementImpl(vf.createURI("foo:event0" + i), pred1_atTime, vf.createLiteral(seriesTs[i].getAsReadable()));
-        }
-
-    }
-
-    /**
-     * @throws java.lang.Exception
-     */
-    @BeforeClass
-    public static void setUpBeforeClass() throws Exception {
-    }
-
-    /**
-     * Create a table for test after deleting it.
-     */
-    private static void createTable(Configuration conf, String tablename)
-            throws AccumuloException, AccumuloSecurityException, TableNotFoundException, TableExistsException {
-        TableOperations tableOps = ConfigUtils.getConnector(conf).tableOperations();
-        if (tableOps.exists(tablename)) {
-            tableOps.delete(tablename);
-        }
-        tableOps.create(tablename);
-    }
-
-    /**
-     * @throws java.lang.Exception
-     */
-    @AfterClass
-    public static void tearDownAfterClass() throws Exception {
-    }
-
-    /**
-     * @throws java.lang.Exception
-     */
-    @Before
-    public void setUp() throws Exception {
-        conf = new Configuration();
-        conf.setBoolean(ConfigUtils.USE_MOCK_INSTANCE, true);
-        conf.set(ConfigUtils.TEMPORAL_TABLENAME, uniquePerTestTemporalIndexTableName);
-        // This is from http://linkedevents.org/ontology
-        // and http://motools.sourceforge.net/event/event.html
-        conf.setStrings(ConfigUtils.TEMPORAL_PREDICATES_LIST, ""
-                + URI_PROPERTY_AT_TIME + ","
-                + URI_PROPERTY_CIRCA + ","
-                + URI_PROPERTY_EVENT_TIME);
-
-        // delete and create table
-        createTable(conf, uniquePerTestTemporalIndexTableName);
-        tIndexer = new AccumuloTemporalIndexer();
-        tIndexer.setConf(conf);
-    }
-
-    /**
-     * @throws java.lang.Exception
-     */
-    @After
-    public void tearDown() throws Exception {
-        tIndexer.close();
-        TableOperations tableOps = ConfigUtils.getConnector(conf).tableOperations();
-
-        if (tableOps.exists(uniquePerTestTemporalIndexTableName))
-            tableOps.delete(uniquePerTestTemporalIndexTableName);
-    }
-
-    /**
-     * Test method for {@link AccumuloTemporalIndexer#TemporalIndexerImpl(org.apache.hadoop.conf.Configuration)} .
-     * 
-     * @throws TableExistsException
-     * @throws TableNotFoundException
-     * @throws AccumuloSecurityException
-     * @throws AccumuloException
-     * @throws IOException
-     */
-    @Test
-    public void testTemporalIndexerImpl()
-            throws AccumuloException, AccumuloSecurityException, TableNotFoundException, TableExistsException, IOException {
-        assertNotNull("Constructed.", tIndexer.toString());
-    }
-
-    /**
-     * Test method for {@link AccumuloTemporalIndexer#storeStatement(convertStatement(org.openrdf.model.Statement)}
-     * 
-     * @throws NoSuchAlgorithmException
-     */
-    @Test
-    public void testStoreStatement() throws IOException, AccumuloException, AccumuloSecurityException, TableNotFoundException, TableExistsException, NoSuchAlgorithmException {
-        // count rows expected to store:
-        int rowsStoredExpected = 0;
-
-        ValueFactory vf = new ValueFactoryImpl();
-
-        URI pred1_atTime = vf.createURI(URI_PROPERTY_AT_TIME);
-        URI pred2_circa = vf.createURI(URI_PROPERTY_CIRCA);
-
-        // Should not be stored because they are not in the predicate list
-        String validDateStringWithThirteens = "1313-12-13T13:13:13Z";
-        tIndexer.storeStatement(convertStatement(new StatementImpl(vf.createURI("foo:subj1"), RDFS.LABEL, vf.createLiteral(validDateStringWithThirteens))));
-
-        // Test: Should not store an improper date, and log a warning (log warning not tested).
-        final String invalidDateString = "ThisIsAnInvalidDate";
-//        // Silently logs a warning for bad dates.  Old: Set true when we catch the error:
-//        boolean catchErrorThrownCorrectly = false;
-//        try {
-            tIndexer.storeStatement(convertStatement(new StatementImpl(vf.createURI("foo:subj2"), pred1_atTime, vf.createLiteral(invalidDateString))));
-//        } catch (IllegalArgumentException e) {
-//            catchErrorThrownCorrectly = true;
-//            Assert.assertTrue(
-//                    "Invalid date parse error should include the invalid string. message=" + e.getMessage(),
-//                    e.getMessage().contains(invalidDateString));
-//        }
-//        Assert.assertTrue("Invalid date parse error should be thrown for this bad date=" + invalidDateString, catchErrorThrownCorrectly);
-
-        // These are different datetimes instant but from different time zones.
-        // This is an arbitrary zone, BRST=Brazil, better if not local.
-        // same as "2015-01-01T01:59:59Z"
-        final String testDate2014InBRST = "2014-12-31T23:59:59-02:00";
-        // next year, same as "2017-01-01T01:59:59Z"
-        final String testDate2016InET = "2016-12-31T20:59:59-05:00";
-
-        // These should be stored because they are in the predicate list.
-        // BUT they will get converted to the same exact datetime in UTC.
-        Statement s3 = new StatementImpl(vf.createURI("foo:subj3"), pred1_atTime, vf.createLiteral(testDate2014InBRST));
-        Statement s4 = new StatementImpl(vf.createURI("foo:subj4"), pred2_circa, vf.createLiteral(testDate2016InET));
-        tIndexer.storeStatement(convertStatement(s3));
-        rowsStoredExpected++;
-        tIndexer.storeStatement(convertStatement(s4));
-        rowsStoredExpected++;
-
-        // This should not be stored because the object is not a literal
-        tIndexer.storeStatement(convertStatement(new StatementImpl(vf.createURI("foo:subj5"), pred1_atTime, vf.createURI("in:valid"))));
-
-        tIndexer.flush();
-
-        int rowsStoredActual = printTables("junit testing: Temporal entities stored in testStoreStatement", null, null);
-        Assert.assertEquals("Number of rows stored.", rowsStoredExpected*4, rowsStoredActual); // 4 index entries per statement
-
-    }
-    
-    @Test
-    public void testStoreStatementWithInterestingLiterals() throws Exception {
-        ValueFactory vf = new ValueFactoryImpl();
-
-        URI pred1_atTime = vf.createURI(URI_PROPERTY_AT_TIME);
-
-        tIndexer.storeStatement(convertStatement(new StatementImpl(
-                vf.createURI("foo:subj2"),
-                pred1_atTime,
-                vf.createLiteral("A number of organizations located, gathered, or classed together. [Derived from Concise Oxford English Dictionary, 11th Edition, 2008]"))));
-
-        int rowsStoredActual = printTables("junit testing: Temporal entities stored in testStoreStatement", null, null);
-        Assert.assertEquals("Number of rows stored.", 0, rowsStoredActual); // 4 index entries per statement
-    }
-
-    /**
-	     * Test method for {@link AccumuloTemporalIndexer#storeStatement(convertStatement(org.openrdf.model.Statement)}
-	     * 
-	     * @throws NoSuchAlgorithmException
-	     */
-	    @Test
-	    public void testStoreStatementBadInterval() throws IOException, AccumuloException, AccumuloSecurityException, TableNotFoundException, TableExistsException, NoSuchAlgorithmException {
-	        // count rows expected to store:
-	        int rowsStoredExpected = 0;
-	
-	        ValueFactory vf = new ValueFactoryImpl();
-	        URI pred1_atTime = vf.createURI(URI_PROPERTY_AT_TIME);
-	
-	        // Test: Should not store an improper date interval, and log a warning (log warning not tested).
-	        final String invalidDateIntervalString="[bad,interval]";
-			// Silently logs a warning for bad dates.
-            tIndexer.storeStatement(convertStatement(new StatementImpl(vf.createURI("foo:subj1"), pred1_atTime, vf.createLiteral(invalidDateIntervalString))));
-
-	        final String validDateIntervalString="[2016-12-31T20:59:59-05:00,2016-12-31T21:00:00-05:00]";
-            tIndexer.storeStatement(convertStatement(new StatementImpl(vf.createURI("foo:subj2"), pred1_atTime, vf.createLiteral(validDateIntervalString))));
-            rowsStoredExpected++;
-            
-	        tIndexer.flush();
-	
-	        int rowsStoredActual = printTables("junit testing: Temporal intervals stored in testStoreStatement", null, null);
-	        Assert.assertEquals("Only good intervals should be stored.", rowsStoredExpected*2, rowsStoredActual); // 2 index entries per interval statement
-	    }
-
-	@Test
-    public void testStoreStatementsSameTime() throws IOException, NoSuchAlgorithmException, AccumuloException, AccumuloSecurityException, TableNotFoundException, TableExistsException
-    {
-        ValueFactory vf = new ValueFactoryImpl();
-        URI pred1_atTime = vf.createURI(URI_PROPERTY_AT_TIME);
-        URI pred2_circa = vf.createURI(URI_PROPERTY_CIRCA);
-
-        // These are the same datetime instant but from different time
-        // zones.
-        // This is an arbitrary zone, BRST=Brazil, better if not local.
-        final String ZONETestDateInBRST = "2014-12-31T23:59:59-02:00";
-        final String ZONETestDateInZulu = "2015-01-01T01:59:59Z";
-        final String ZONETestDateInET = "2014-12-31T20:59:59-05:00";
-
-        // These all should be stored because they are in the predicate list.
-        // BUT they will get converted to the same exact datetime in UTC.
-        // So we have to make the key distinct! Good luck indexer!
-        Statement s1 = new StatementImpl(vf.createURI("foo:subj1"), pred2_circa, vf.createLiteral(ZONETestDateInET));
-        Statement s2 = new StatementImpl(vf.createURI("foo:subj2"), pred1_atTime, vf.createLiteral(ZONETestDateInZulu));
-        Statement s3 = new StatementImpl(vf.createURI("foo:subj3"), pred1_atTime, vf.createLiteral(ZONETestDateInBRST));
-        int rowsStoredExpected = 0;
-        tIndexer.storeStatement(convertStatement(s1));
-        rowsStoredExpected++;
-        tIndexer.storeStatement(convertStatement(s2));
-        rowsStoredExpected++;
-        tIndexer.storeStatement(convertStatement(s3));
-        rowsStoredExpected++;
-        int rowsStoredActual = printTables("junit testing: Duplicate times stored", null /*System.out*/, null);
-        Assert.assertEquals("Number of Duplicate times stored, 1 means duplicates not handled correctly.", rowsStoredExpected*4, rowsStoredActual);
-    }
-
-    /**
-     * Test method for {@link AccumuloTemporalIndexer#storeStatements(java.util.Collection)} .
-     * 
-     * @throws TableExistsException
-     * @throws TableNotFoundException
-     * @throws AccumuloSecurityException
-     * @throws AccumuloException
-     * @throws IOException
-     * @throws IllegalArgumentException
-     * @throws NoSuchAlgorithmException
-     */
-    @Test
-    public void testStoreStatements()
-            throws AccumuloException, AccumuloSecurityException, TableNotFoundException, TableExistsException, IllegalArgumentException, IOException,
-            NoSuchAlgorithmException {
-        long valueHash = 0;
-        Collection<Statement> statements = new ArrayList<Statement>(70);
-        statements.addAll(Arrays.asList(seriesSpo));
-        int rowsStoredExpected = statements.size()*4;  // instants store 4 each
-        // hash the expected output:
-        for (Statement statement : statements) {
-            valueHash = hasher(valueHash, StringUtils.getBytesUtf8(StatementSerializer.writeStatement(statement)));
-            valueHash = hasher(valueHash, StringUtils.getBytesUtf8(StatementSerializer.writeStatement(statement)));
-            valueHash = hasher(valueHash, StringUtils.getBytesUtf8(StatementSerializer.writeStatement(statement)));
-            valueHash = hasher(valueHash, StringUtils.getBytesUtf8(StatementSerializer.writeStatement(statement)));
-        }
-        statements.add(spo_B02_E30);
-        rowsStoredExpected += 2; // intervals store two dates
-        statements.add(spo_B30_E32);
-        rowsStoredExpected += 2; // intervals store two dates
-        valueHash = hasher(valueHash, StringUtils.getBytesUtf8(StatementSerializer.writeStatement(spo_B02_E30)));
-        valueHash = hasher(valueHash, StringUtils.getBytesUtf8(StatementSerializer.writeStatement(spo_B02_E30)));
-        valueHash = hasher(valueHash, StringUtils.getBytesUtf8(StatementSerializer.writeStatement(spo_B30_E32)));
-        valueHash = hasher(valueHash, StringUtils.getBytesUtf8(StatementSerializer.writeStatement(spo_B30_E32)));
-        // duplicates will overwrite old ones, no change in the output except timestamps
-        statements.add(spo_B30_E32);
-        statements.add(spo_B30_E32);
-
-        List<RyaStatement> ryaStatements = Lists.newArrayList();
-        for (Statement s : statements){ ryaStatements.add(convertStatement(s));}
-        tIndexer.storeStatements(ryaStatements);
-
-        Map<String, Long> statistics = new HashMap<String, Long>();
-        int rowsStoredActual = printTables("junit testing: StoreStatements multiple statements", null, statistics);
-        Assert.assertEquals("Number of rows stored.", rowsStoredExpected, rowsStoredActual); // 4 index entries per statement
-        Assert.assertEquals("value hash.", valueHash, statistics.get(STAT_VALUEHASH).longValue());
-    }
-
-    /**
-     * test this classe's hash method to check un-ordered results.
-     */
-    @Test
-    public void testSelfTestHashMethod() {
-        // self test on the hash method:
-        long hash01dup1 = hasher(0, new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });
-        long hash01dup2 = hasher(0, new byte[] { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 });
-        Assert.assertEquals("same numbers, different sequence, hash should be the same.", hash01dup1, hash01dup2);
-
-        // this one fails for sum hash, passes for XOR
-        long hash02dup1 = hasher(0, new byte[] { 123, 2, 1, 1 });
-        hash02dup1 = hasher(hash02dup1, new byte[] { 123, 1, 1, 2 });
-        long hash02dup2 = hasher(0, new byte[] { 123, 1, 1, 2 });
-        hash02dup2 = hasher(hash02dup2, new byte[] { 123, 1, 3, 0, 0 });
-        Assert.assertTrue("Different numbers, should be different hashes: " + hash02dup1 + " != " + hash02dup2, hash02dup1 != hash02dup2);
-    }
-    /**
-     * Test instant equal to a given instant.
-     * From the series: instant {equal, before, after} instant
-     * @throws AccumuloSecurityException 
-     * @throws AccumuloException 
-     * @throws TableNotFoundException 
-     */
-    @Test
-    public void testQueryInstantEqualsInstant() throws IOException, QueryEvaluationException, TableNotFoundException, AccumuloException, AccumuloSecurityException {
-        // tiB02_E30 read as: Begins 2 seconds, ends at 30 seconds
-        // these should not match as they are not instances.
-        tIndexer.storeStatement(convertStatement(spo_B03_E20));
-        tIndexer.storeStatement(convertStatement(spo_B02_E30));
-        tIndexer.storeStatement(convertStatement(spo_B02_E40));
-        tIndexer.storeStatement(convertStatement(spo_B02_E31));
-        tIndexer.storeStatement(convertStatement(spo_B30_E32));
-        int expectedStoreCount = 5 * 2; // two entries for intervals
-
-        // seriesSpo[s] and seriesTs[s] are statements and instant for s seconds after the uniform time.
-        int searchForSeconds = 5;
-        int expectedResultCount = 1;
-        for (int s = 0; s <= searchForSeconds + 3; s++) { // <== logic here
-            tIndexer.storeStatement(convertStatement(seriesSpo[s]));
-            expectedStoreCount+=4; //4 entries per statement.
-        }
-        tIndexer.flush();
-
-        int rowsStoredActual = printTables("junit testing: testQueryInstantEqualsInstant 0 to 8 seconds and 5 intervals stored. expectedStoreCount="+expectedStoreCount, null /*System.out*/, null);
-        Assert.assertEquals("Should find count of rows.", expectedStoreCount, rowsStoredActual);
-
-        CloseableIteration<Statement, QueryEvaluationException> iter;
-        iter = tIndexer.queryInstantEqualsInstant(seriesTs[searchForSeconds], EMPTY_CONSTRAINTS); // <== logic here
-        int count = 0;
-        while (iter.hasNext()) {
-            Statement s = iter.next();
-            Statement nextExpectedStatement = seriesSpo[searchForSeconds]; // <== logic here
-            assertTrue("Should match: " + nextExpectedStatement + " == " + s, nextExpectedStatement.equals(s));
-            count++;
-        }
-        Assert.assertEquals("Should find count of rows.", expectedResultCount, count);
-
-    }
-
-    /**
-     * Test instant after a given instant.
-     * From the series: instant {equal, before, after} instant
-     * @throws AccumuloSecurityException 
-     * @throws AccumuloException 
-     * @throws TableNotFoundException 
-     */
-    @Test
-    public void testQueryInstantAfterInstant() throws IOException, QueryEvaluationException, TableNotFoundException, AccumuloException, AccumuloSecurityException {
-        // tiB02_E30 read as: Begins 2 seconds, ends at 30 seconds
-        // these should not match as they are not instances.
-        tIndexer.storeStatement(convertStatement(spo_B03_E20));
-        tIndexer.storeStatement(convertStatement(spo_B02_E30));
-        tIndexer.storeStatement(convertStatement(spo_B02_E40));
-        tIndexer.storeStatement(convertStatement(spo_B02_E31));
-        tIndexer.storeStatement(convertStatement(spo_B30_E32));
-
-        // seriesSpo[s] and seriesTs[s] are statements and instant for s seconds after the uniform time.
-        int searchForSeconds = 4;
-        int expectedResultCount = 9;
-        for (int s = 0; s <= searchForSeconds + expectedResultCount; s++) { // <== logic here
-            tIndexer.storeStatement(convertStatement(seriesSpo[s]));
-        }
-        tIndexer.flush();
-        CloseableIteration<Statement, QueryEvaluationException> iter;
-        iter = tIndexer.queryInstantAfterInstant(seriesTs[searchForSeconds], EMPTY_CONSTRAINTS);
-        int count = 0;
-        while (iter.hasNext()) {
-            Statement s = iter.next();
-            Statement nextExpectedStatement = seriesSpo[searchForSeconds + count + 1]; // <== logic here
-            assertTrue("Should match: " + nextExpectedStatement + " == " + s, nextExpectedStatement.equals(s));
-            count++;
-        }
-        Assert.assertEquals("Should find count of rows.", expectedResultCount, count);
-    }
-    /**
-     * Test instant before a given instant.
-     * From the series: instant {equal, before, after} instant
-     */
-    @Test
-    public void testQueryInstantBeforeInstant() throws IOException, QueryEvaluationException {
-        // tiB02_E30 read as: Begins 2 seconds, ends at 30 seconds
-        // these should not match as they are not instances.
-        tIndexer.storeStatement(convertStatement(spo_B03_E20));
-        tIndexer.storeStatement(convertStatement(spo_B02_E30));
-        tIndexer.storeStatement(convertStatement(spo_B02_E40));
-        tIndexer.storeStatement(convertStatement(spo_B02_E31));
-        tIndexer.storeStatement(convertStatement(spo_B30_E32));
-
-        // seriesSpo[s] and seriesTs[s] are statements and instant for s seconds after the uniform time.
-        int searchForSeconds = 4;
-        int expectedResultCount = 4;
-        for (int s = 0; s <= searchForSeconds + 15; s++) { // <== logic here
-            tIndexer.storeStatement(convertStatement(seriesSpo[s]));
-        }
-        tIndexer.flush();
-        CloseableIteration<Statement, QueryEvaluationException> iter;
-        
-        iter = tIndexer.queryInstantBeforeInstant(seriesTs[searchForSeconds], EMPTY_CONSTRAINTS);
-        int count = 0;
-        while (iter.hasNext()) {
-            Statement s = iter.next();
-            Statement nextExpectedStatement = seriesSpo[count]; // <== logic here
-            assertTrue("Should match: " + nextExpectedStatement + " == " + s, nextExpectedStatement.equals(s));
-            count++;
-        }
-        Assert.assertEquals("Should find count of rows.", expectedResultCount, count);
-    }
-
-    /**
-     * Test instant before given interval.
-     * From the series:  Instance {before, after, inside} given Interval
-     */
-    @Test
-    public void testQueryInstantBeforeInterval() throws IOException, QueryEvaluationException {
-        // tiB02_E30 read as: Begins 2 seconds, ends at 30 seconds
-        // these should not match as they are not instances.
-        tIndexer.storeStatement(convertStatement(spo_B03_E20));
-        tIndexer.storeStatement(convertStatement(spo_B02_E30));
-        tIndexer.storeStatement(convertStatement(spo_B02_E40));
-        tIndexer.storeStatement(convertStatement(spo_B02_E31));
-        tIndexer.storeStatement(convertStatement(spo_B30_E32));
-
-        // seriesSpo[s] and seriesTs[s] are statements and instants for s seconds after the uniform time.
-        TemporalInterval searchForSeconds = tvB02_E31;
-        int expectedResultCount = 2; // 00 and 01 seconds.
-        for (int s = 0; s <= 40; s++) { // <== logic here
-            tIndexer.storeStatement(convertStatement(seriesSpo[s]));
-        }
-        tIndexer.flush();
-        CloseableIteration<Statement, QueryEvaluationException> iter;
-        iter = tIndexer.queryInstantBeforeInterval(searchForSeconds, EMPTY_CONSTRAINTS);
-        int count = 0;
-        while (iter.hasNext()) {
-            Statement s = iter.next();
-            Statement nextExpectedStatement = seriesSpo[count]; // <== logic here
-            assertTrue("Should match: " + nextExpectedStatement + " == " + s, nextExpectedStatement.equals(s));
-            count++;
-        }
-        Assert.assertEquals("Should find count of rows.", expectedResultCount, count);
-    }
-
-    /**
-     * Test instant after given interval.
-     * Instance {before, after, inside} given Interval
-     */
-    @Test
-    public void testQueryInstantAfterInterval() throws IOException, QueryEvaluationException {
-        // tiB02_E30 read as: Begins 2 seconds, ends at 30 seconds
-        // these should not match as they are not instances.
-        tIndexer.storeStatement(convertStatement(spo_B03_E20));
-        tIndexer.storeStatement(convertStatement(spo_B02_E30));
-        tIndexer.storeStatement(convertStatement(spo_B02_E40));
-        tIndexer.storeStatement(convertStatement(spo_B02_E31));
-        tIndexer.storeStatement(convertStatement(spo_B30_E32));
-
-        // seriesSpo[s] and seriesTs[s] are statements and instants for s seconds after the uniform time.
-        TemporalInterval searchAfterInterval = tvB02_E31; // from 2 to 31 seconds
-        int endingSeconds = 31;
-        int expectedResultCount = 9; // 32,33,...,40 seconds.
-        for (int s = 0; s <= endingSeconds + expectedResultCount; s++) { // <== logic here
-            tIndexer.storeStatement(convertStatement(seriesSpo[s]));
-        }
-        tIndexer.flush();
-        CloseableIteration<Statement, QueryEvaluationException> iter;
-        iter = tIndexer.queryInstantAfterInterval(searchAfterInterval, EMPTY_CONSTRAINTS);
-        int count = 0;
-        while (iter.hasNext()) {
-            Statement s = iter.next();
-            Statement nextExpectedStatement = seriesSpo[count + endingSeconds + 1]; // <== logic here
-            assertTrue("Should match: " + nextExpectedStatement + " == " + s, nextExpectedStatement.equals(s));
-            count++;
-        }
-        Assert.assertEquals("Should find count of rows.", expectedResultCount, count);
-    }
-
-    /**
-     * Test instant inside given interval.
-     * Instance {before, after, inside} given Interval
-     */
-    @Test
-    public void testQueryInstantInsideInterval() throws IOException, QueryEvaluationException {
-        // tiB02_E30 read as: Begins 2 seconds, ends at 30 seconds
-        // these should not match as they are not instances.
-        tIndexer.storeStatement(convertStatement(spo_B03_E20));
-        tIndexer.storeStatement(convertStatement(spo_B02_E30));
-        tIndexer.storeStatement(convertStatement(spo_B02_E40));
-        tIndexer.storeStatement(convertStatement(spo_B02_E31));
-        tIndexer.storeStatement(convertStatement(spo_B30_E32));
-
-        // seriesSpo[s] and seriesTs[s] are statements and instants for s seconds after the uniform time.
-        TemporalInterval searchInsideInterval = tvB02_E31; // from 2 to 31 seconds
-        int beginningSeconds = 2; // <== logic here, and next few lines.
-        int endingSeconds = 31;
-        int expectedResultCount = endingSeconds - beginningSeconds - 1; // 3,4,...,30 seconds.
-        for (int s = 0; s <= 40; s++) {
-            tIndexer.storeStatement(convertStatement(seriesSpo[s]));
-        }
-        tIndexer.flush();
-        CloseableIteration<Statement, QueryEvaluationException> iter;
-        iter = tIndexer.queryInstantInsideInterval(searchInsideInterval, EMPTY_CONSTRAINTS);
-        int count = 0;
-        while (iter.hasNext()) {
-            Statement s = iter.next();
-            Statement nextExpectedStatement = seriesSpo[count + beginningSeconds + 1]; // <== logic here
-            assertTrue("Should match: " + nextExpectedStatement + " == " + s, nextExpectedStatement.equals(s));
-            count++;
-        }
-        Assert.assertEquals("Should find count of rows.", expectedResultCount, count);
-    }
-    /**
-     * Test instant is the Beginning of the given interval.
-     * from the series: Instance {hasBeginning, hasEnd} Interval
-     */
-    @Test
-    public void testQueryInstantHasBeginningInterval() throws IOException, QueryEvaluationException {
-        // tiB02_E30 read as: Begins 2 seconds, ends at 30 seconds
-        // these should not match as they are not instances.
-        tIndexer.storeStatement(convertStatement(spo_B03_E20));
-        tIndexer.storeStatement(convertStatement(spo_B02_E30));
-        tIndexer.storeStatement(convertStatement(spo_B02_E40));
-        tIndexer.storeStatement(convertStatement(spo_B02_E31));
-        tIndexer.storeStatement(convertStatement(spo_B30_E32));
-
-        // seriesSpo[s] and seriesTs[s] are statements and instants for s seconds after the uniform time.
-        TemporalInterval searchInsideInterval = tvB02_E31; // from 2 to 31 seconds
-        int searchSeconds = 2; // <== logic here, and next few lines.
-        int expectedResultCount = 1; // 2 seconds.
-        for (int s = 0; s <= 10; s++) {
-            tIndexer.storeStatement(convertStatement(seriesSpo[s]));
-        }
-        tIndexer.flush();
-        CloseableIteration<Statement, QueryEvaluationException> iter;
-        iter = tIndexer.queryInstantHasBeginningInterval(searchInsideInterval, EMPTY_CONSTRAINTS);
-        int count = 0;
-        while (iter.hasNext()) {
-            Statement s = iter.next();
-            Statement nextExpectedStatement = seriesSpo[searchSeconds]; // <== logic here
-            assertTrue("Should match: " + nextExpectedStatement + " == " + s, nextExpectedStatement.equals(s));
-            count++;
-        }
-        Assert.assertEquals("Should find count of rows.", expectedResultCount, count);
-    }
-    /**
-     * Test instant is the end of the given interval.
-     * from the series: Instance {hasBeginning, hasEnd} Interval
-     */
-    @Test
-    public void testQueryInstantHasEndInterval()  throws IOException, QueryEvaluationException {
-        // tiB02_E30 read as: Begins 2 seconds, ends at 30 seconds
-        // these should not match as they are not instances.
-        tIndexer.storeStatement(convertStatement(spo_B03_E20));
-        tIndexer.storeStatement(convertStatement(spo_B02_E30));
-        tIndexer.storeStatement(convertStatement(spo_B02_E40));
-        tIndexer.storeStatement(convertStatement(spo_B02_E31));
-        tIndexer.storeStatement(convertStatement(spo_B30_E32));
-
-        // seriesSpo[s] and seriesTs[s] are statements and instants for s seconds after the uniform time.
-        TemporalInterval searchInsideInterval = tvB02_E31; // from 2 to 31 seconds
-        int searchSeconds = 31; // <== logic here, and next few lines.
-        int expectedResultCount = 1; // 31 seconds.
-        for (int s = 0; s <= 40; s++) {
-            tIndexer.storeStatement(convertStatement(seriesSpo[s]));
-        }
-        tIndexer.flush();
-        CloseableIteration<Statement, QueryEvaluationException> iter;
-        iter = tIndexer.queryInstantHasEndInterval(searchInsideInterval, EMPTY_CONSTRAINTS);
-        int count = 0;
-        while (iter.hasNext()) {
-            Statement s = iter.next();
-            Statement nextExpectedStatement = seriesSpo[searchSeconds]; // <== logic here
-            assertTrue("Should match: " + nextExpectedStatement + " == " + s, nextExpectedStatement.equals(s));
-            count++;
-        }
-        Assert.assertEquals("Should find count of rows.", expectedResultCount, count);
-    }
-
-    /**
-     * Test method for
-     * {@link mvm.rya.indexing.accumulo.temporal.AccumuloTemporalIndexer#queryIntervalEquals(TemporalInterval, StatementContraints)}
-     * .
-     * @throws IOException 
-     * @throws QueryEvaluationException 
-     * 
-     */
-    @Test
-    public void testQueryIntervalEquals() throws IOException, QueryEvaluationException {
-        // tiB02_E30 read as: Begins 2 seconds, ends at 30 seconds
-        tIndexer.storeStatement(convertStatement(spo_B03_E20));
-        tIndexer.storeStatement(convertStatement(spo_B02_E30));
-        tIndexer.storeStatement(convertStatement(spo_B02_E40));
-        tIndexer.storeStatement(convertStatement(spo_B02_E31));
-        tIndexer.storeStatement(convertStatement(spo_B30_E32));
-        tIndexer.storeStatement(convertStatement(seriesSpo[4])); // instance at 4 seconds
-        tIndexer.flush();
-
-        CloseableIteration<Statement, QueryEvaluationException> iter;
-        iter = tIndexer.queryIntervalEquals(tvB02_E40, EMPTY_CONSTRAINTS);
-        // Should be found twice:
-        Assert.assertTrue("queryIntervalEquals: spo_B02_E40 should be found, but actually returned empty results. spo_B02_E40=" + spo_B02_E40, iter.hasNext());
-        Assert.assertTrue("queryIntervalEquals: spo_B02_E40 should be found, but does not match.", spo_B02_E40.equals(iter.next()));
-        Assert.assertFalse("queryIntervalEquals: Find no more than one, but actually has more.", iter.hasNext());
-    }
-
-    /**
-     * Test interval before a given interval, for method:
-     * {@link AccumuloTemporalIndexer#queryIntervalBefore(TemporalInterval, StatementContraints)}.
-     * 
-     * @throws IOException 
-     * @throws QueryEvaluationException 
-     */
-    @Test
-    public void testQueryIntervalBefore() throws IOException, QueryEvaluationException {
-        // tiB02_E30 read as: Begins 2 seconds, ends at 30 seconds
-        tIndexer.storeStatement(convertStatement(spo_B00_E01));
-        tIndexer.storeStatement(convertStatement(spo_B02_E30));
-        tIndexer.storeStatement(convertStatement(spo_B02_E31));
-        tIndexer.storeStatement(convertStatement(spo_B02_E40));
-        tIndexer.storeStatement(convertStatement(spo_B03_E20));
-        // instants should be ignored.
-        tIndexer.storeStatement(convertStatement(spo_B30_E32));
-        tIndexer.storeStatement(convertStatement(seriesSpo[1])); // instance at 1 seconds
-        tIndexer.storeStatement(convertStatement(seriesSpo[2])); 
-        tIndexer.storeStatement(convertStatement(seriesSpo[31]));
-        tIndexer.flush();
-
-        CloseableIteration<Statement, QueryEvaluationException> iter;
-        iter = tIndexer.queryIntervalBefore(tvB02_E31, EMPTY_CONSTRAINTS);
-        // Should be found twice:
-        Assert.assertTrue("spo_B00_E01 should be found, but actually returned empty results. spo_B00_E01=" + spo_B00_E01, iter.hasNext());
-        Assert.assertTrue("spo_B00_E01 should be found, but found another.", spo_B00_E01.equals(iter.next()));
-        Assert.assertFalse("Find no more than one, but actually has more.", iter.hasNext());
-    }
-
-    /**
-     * interval is after the given interval.  Find interval beginnings after the endings of the given interval.
-     * {@link AccumuloTemporalIndexer#queryIntervalAfter(TemporalInterval, StatementContraints).
-     * 
-     * @throws IOException 
-     * @throws QueryEvaluationException 
-     */
-    @Test
-    public void testQueryIntervalAfter() throws IOException, QueryEvaluationException {
-        // tiB02_E30 read as: Begins 2 seconds, ends at 30 seconds
-        tIndexer.storeStatement(convertStatement(spo_B00_E01));
-        tIndexer.storeStatement(convertStatement(spo_B02_E29)); //<- after this one.
-        tIndexer.storeStatement(convertStatement(spo_B02_E30));
-        tIndexer.storeStatement(convertStatement(spo_B02_E31));
-        tIndexer.storeStatement(convertStatement(spo_B02_E40));
-        tIndexer.storeStatement(convertStatement(spo_B03_E20));
-        tIndexer.storeStatement(convertStatement(spo_B29_E30));
-        tIndexer.storeStatement(convertStatement(spo_B30_E32));
-        // instants should be ignored.
-        tIndexer.storeStatement(convertStatement(spo_B02));
-        tIndexer.storeStatement(convertStatement(seriesSpo[1])); // instance at 1 seconds
-        tIndexer.storeStatement(convertStatement(seriesSpo[2])); 
-        tIndexer.storeStatement(convertStatement(seriesSpo[31]));
-        tIndexer.flush();
-
-        CloseableIteration<Statement, QueryEvaluationException> iter;
-        iter = tIndexer.queryIntervalAfter(tvB02_E29, EMPTY_CONSTRAINTS);
-        // Should be found twice:
-        Assert.assertTrue("spo_B30_E32 should be found, but actually returned empty results. spo_B30_E32=" + spo_B30_E32, iter.hasNext());
-        Statement s = iter.next();
-        Assert.assertTrue("spo_B30_E32 should be found, but found another. spo_B30_E32="+spo_B30_E32+", but found="+s, spo_B30_E32.equals(s));
-        Assert.assertFalse("Find no more than one, but actually has more.", iter.hasNext());
-
-    }
-
-    /**
-     * Test instant after a given instant WITH two different predicates as constraints.
-     */
-    @Test
-    public void testQueryWithMultiplePredicates() throws IOException, QueryEvaluationException {
-        // tiB02_E30 read as: Begins 2 seconds, ends at 30 seconds
-        // these should not match as they are not instances.
-        tIndexer.storeStatement(convertStatement(spo_B03_E20));
-        tIndexer.storeStatement(convertStatement(spo_B02_E30));
-        tIndexer.storeStatement(convertStatement(spo_B02_E40));
-        tIndexer.storeStatement(convertStatement(spo_B02_E31));
-        tIndexer.storeStatement(convertStatement(spo_B30_E32));
-
-        // seriesSpo[s] and seriesTs[s] are statements and instant for s seconds after the uniform time.
-        int searchForSeconds = 4;
-        int expectedResultCount = 9;
-        for (int s = 0; s <= searchForSeconds + expectedResultCount; s++) { // <== logic here
-            tIndexer.storeStatement(convertStatement(seriesSpo[s]));
-        }
-        ValueFactory vf = new ValueFactoryImpl();
-        URI pred3_CIRCA_ = vf.createURI(URI_PROPERTY_CIRCA);  // this one to ignore.
-        URI pred2_eventTime = vf.createURI(URI_PROPERTY_EVENT_TIME);
-        URI pred1_atTime = vf.createURI(URI_PROPERTY_AT_TIME);
-        
-        // add the predicate = EventTime ; Store in an array for verification.
-        Statement[] SeriesTs_EventTime = new Statement[expectedResultCount+1];
-        for (int s = 0; s <= searchForSeconds + expectedResultCount; s++) { // <== logic here
-            Statement statement = new StatementImpl(vf.createURI("foo:EventTimeSubj0" + s), pred2_eventTime, vf.createLiteral(seriesTs[s].getAsReadable()));
-            tIndexer.storeStatement(convertStatement(statement));
-            if (s>searchForSeconds)
-                SeriesTs_EventTime[s - searchForSeconds -1 ] = statement;
-        }
-        // add the predicate = CIRCA ; to be ignored because it is not in the constraints.
-        for (int s = 0; s <= searchForSeconds + expectedResultCount; s++) { // <== logic here
-            Statement statement = new StatementImpl(vf.createURI("foo:CircaEventSubj0" + s), pred3_CIRCA_, vf.createLiteral(seriesTs[s].getAsReadable()));
-            tIndexer.storeStatement(convertStatement(statement));
-        }
-        tIndexer.flush();
-        CloseableIteration<Statement, QueryEvaluationException> iter;
-        StatementContraints constraints = new StatementContraints();
-        constraints.setPredicates(new HashSet<URI>(Arrays.asList( pred2_eventTime,  pred1_atTime )));
-         
-        iter = tIndexer.queryInstantAfterInstant(seriesTs[searchForSeconds], constraints); // EMPTY_CONSTRAINTS);//
-        int count_AtTime = 0;
-        int count_EventTime = 0;
-        while (iter.hasNext()) {
-            Statement s = iter.next();
-            //System.out.println("testQueryWithMultiplePredicates result="+s);
-            Statement nextExpectedStatement = seriesSpo[searchForSeconds + count_AtTime + 1]; // <== logic here
-            if (s.getPredicate().equals(pred1_atTime)) {
-                assertTrue("Should match atTime: " + nextExpectedStatement + " == " + s, nextExpectedStatement.equals(s));
-                count_AtTime++;
-            }
-            else if (s.getPredicate().equals(pred2_eventTime)) {
-                assertTrue("Should match eventTime: " + SeriesTs_EventTime[count_EventTime] + " == " + s, SeriesTs_EventTime[count_EventTime].equals(s));
-                count_EventTime++;
-            } else {
-                assertTrue("This predicate should not be returned: "+s, false);
-            }
-                
-        }
-        
-        Assert.assertEquals("Should find count of atTime    rows.", expectedResultCount, count_AtTime);
-        Assert.assertEquals("Should find count of eventTime rows.", expectedResultCount, count_EventTime);
-    }
-
-    
-    /**
-     * Test method for {@link AccumuloTemporalIndexer#getIndexablePredicates()} .
-     * 
-     * @throws TableExistsException
-     * @throws TableNotFoundException
-     * @throws AccumuloSecurityException
-     * @throws AccumuloException
-     * @throws IOException
-     */
-    @Test
-    public void testGetIndexablePredicates() throws AccumuloException, AccumuloSecurityException, TableNotFoundException, TableExistsException, IOException {
-        Set<URI> p = tIndexer.getIndexablePredicates();
-        Assert.assertEquals("number of predicates returned:", 3, p.size());
-    }
-
-    /**
-     * Count all the entries in the temporal index table, return the count.
-     * Uses printTables for reliability.
-     * 
-     */
-    public int countAllRowsInTable() throws AccumuloException, AccumuloSecurityException, TableNotFoundException, NoSuchAlgorithmException {
-        return printTables("Counting rows.", null, null);
-    }
-
-    /**
-     * Print and gather statistics on the entire index table.
-     * 
-     * @param description
-     *            Printed to the console to find the test case.
-     * @param out
-     *            null or System.out or other output to send a listing.
-     * @param statistics
-     *            Hashes, sums, and counts for assertions.
-     * @return Count of entries in the index table.
-     */
-    public int printTables(String description, PrintStream out, Map<String, Long> statistics)
-            throws TableNotFoundException, AccumuloException, AccumuloSecurityException
-    {
-        if (out == null) {
-            out = new PrintStream(new NullOutputStream());
-        }
-        out.println("-- start printTables() -- " + description);
-        String FORMAT = "%-20s  %-20s  %-40s  %-40s\n";
-        int rowsPrinted = 0;
-        long keyHasher = 0;
-        long valueHasher = 0;
-        out.println("Reading : " + this.uniquePerTestTemporalIndexTableName);
-        out.format(FORMAT, "--Row--", "--ColumnFamily--", "--ColumnQualifier--", "--Value--");
-
-        Scanner s = ConfigUtils.getConnector(conf).createScanner(this.uniquePerTestTemporalIndexTableName, Constants.NO_AUTHS);
-        for (Entry<Key, org.apache.accumulo.core.data.Value> entry : s) {
-            rowsPrinted++;
-            Key k = entry.getKey();
-            out.format(FORMAT, toHumanString(k.getRow()), 
-            		toHumanString(k.getColumnFamily()), 
-            		toHumanString(k.getColumnQualifier()), 
-            		toHumanString(entry.getValue()));
-            keyHasher = hasher(keyHasher, (StringUtils.getBytesUtf8(entry.getKey().toStringNoTime())));
-            valueHasher = hasher(valueHasher, (entry.getValue().get()));
-        }
-        out.println();
-        // }
-
-        if (statistics != null) {
-            statistics.put(STAT_COUNT, (long) rowsPrinted);
-            statistics.put(STAT_KEYHASH, keyHasher);
-            statistics.put(STAT_VALUEHASH, valueHasher);
-        }
-
-        return rowsPrinted;
-
-    }
-
-    /**
-     * Order independent hashcode.
-     * Read more: http://stackoverflow.com/questions/18021643/hashing-a-set-of-integers-in-an-order-independent-way
-     * 
-     * @param hashcode
-     * @param list
-     * @return
-     */
-    private static long hasher(long hashcode, byte[] list) {
-        long sum = 0;
-        for (byte val : list) {
-            sum += 1L + val;
-        }
-        hashcode ^= sum;
-        return hashcode;
-    }
-
-    /**
-     * convert a non-utf8 byte[] and text and value to string and show unprintable bytes as {xx} where x is hex.
-     * @param value
-     * @return Human readable representation.
-     */
-	static String toHumanString(Value value) {
-		return toHumanString(value==null?null:value.get());
-	}
-	static String toHumanString(Text text) {
-		return toHumanString(text==null?null:text.copyBytes());
-	}
-	static String toHumanString(byte[] bytes) {
-		if (bytes==null) 
-			return "{null}";
-		StringBuilder sb = new StringBuilder();
-		for (byte b : bytes) {
-			if ((b > 0x7e) || (b < 32)) {
-				sb.append("{");
-				sb.append(Integer.toHexString( b & 0xff )); // Lop off the sign extended ones.
-				sb.append("}");
-			} else if (b == '{'||b == '}') { // Escape the literal braces.
-				sb.append("{");
-				sb.append((char)b);
-				sb.append("}");
-			} else
-				sb.append((char)b);
-		}
-		return sb.toString();
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/temporal/TemporalInstantTest.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/temporal/TemporalInstantTest.java b/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/temporal/TemporalInstantTest.java
deleted file mode 100644
index 6363372..0000000
--- a/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/temporal/TemporalInstantTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package mvm.rya.indexing.accumulo.temporal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.TimeZone;
-
-import mvm.rya.indexing.TemporalInstant;
-
-import org.apache.commons.codec.binary.StringUtils;
-import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
-import org.joda.time.format.ISODateTimeFormat;
-import org.junit.Assert;
-import org.junit.Test;
-
-public class TemporalInstantTest {
-	@Test
-	public void constructorTest() throws Exception {
-		TemporalInstant instant = new TemporalInstantRfc3339(2014, 12, 30, //
-				12, 59, 59);
-		// YYYY-MM-DDThh:mm:ssZ
-		String stringTestDate01 = "2014-12-30T12:59:59Z";
-		Date dateTestDate01 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX")
-				.parse(stringTestDate01);
-		Assert.assertEquals(stringTestDate01, instant.getAsKeyString());
-		Assert.assertArrayEquals(StringUtils.getBytesUtf8(instant.getAsKeyString()), instant.getAsKeyBytes());
-		Assert.assertTrue("Key must be normalized to time zone Zulu",instant.getAsKeyString().endsWith("Z"));
-		// show the local time us.
-		// Warning, if test is run in the London, or Zulu time zone, this test will be same as above, with the Z.
-		// TimeZone.setDefault(TimeZone.getTimeZone("UTC")); // this does not affect the library, don't use.
-		String stringLocalTestDate01 = new SimpleDateFormat( 	 "yyyy-MM-dd'T'HH:mm:ssXXX").format(dateTestDate01);
-		// for ET, will be: "2014-12-30T07:59:59-05:00"
-		//instant.getAsDateTime().withZone(null);
-//		System.out.println("===System.getProperty(user.timezone)="+System.getProperty("user.timezone")); //=ET
-//		System.out.println("===============TimeZone.getDefault()="+TimeZone.getDefault());				//=ET
-//		System.out.println("===========DateTimeZone.getDefault()="+DateTimeZone.getDefault());			//=UTC (wrong!)
-		// the timezone default gets set to UTC by some prior test, fix it here.
-		DateTimeZone newTimeZone = null;
-		try {
-            String id = System.getProperty("user.timezone");
-            if (id != null) {
-                newTimeZone = DateTimeZone.forID(id);
-            }
-        } catch (RuntimeException ex) {
-            // ignored
-        }
-        if (newTimeZone == null) {
-            newTimeZone = DateTimeZone.forTimeZone(TimeZone.getDefault());
-        }
-        DateTimeZone.setDefault(newTimeZone);
-        // null timezone means use the default:
-		Assert.assertEquals("Joda time library (actual) should use same local timezone as Java date (expected).",	stringLocalTestDate01, instant.getAsReadable(null));
-	}
-	@Test
-	public void zoneTestTest() throws Exception {
-        final String ZONETestDateInBRST = "2014-12-31T23:59:59-02:00"; // arbitrary zone, BRST=Brazil, better if not local.
-		final String ZONETestDateInZulu = "2015-01-01T01:59:59Z";
-		final String ZONETestDateInET   = "2014-12-31T20:59:59-05:00";
-		TemporalInstant instant = new TemporalInstantRfc3339(DateTime.parse(ZONETestDateInBRST));
-		
-		Assert.assertEquals("Test our test Zulu, ET  strings.", ZONETestDateInET,   DateTime.parse(ZONETestDateInZulu).withZone(DateTimeZone.forID("-05:00")).toString(ISODateTimeFormat.dateTimeNoMillis()));
-        Assert.assertEquals("Test our test BRST,Zulu strings.", ZONETestDateInZulu, DateTime.parse(ZONETestDateInBRST).withZone(DateTimeZone.UTC).toString(ISODateTimeFormat.dateTimeNoMillis()));
-        
-		Assert.assertTrue("Key must be normalized to time zone Zulu: "+instant.getAsKeyString(),  instant.getAsKeyString().endsWith("Z"));
-		Assert.assertEquals("Key must be normalized from BRST -02:00", ZONETestDateInZulu, instant.getAsKeyString());
-		Assert.assertArrayEquals(StringUtils.getBytesUtf8(instant.getAsKeyString()),  instant.getAsKeyBytes());
-
-		Assert.assertTrue(   "Ignore original time zone.", ! ZONETestDateInBRST.equals( instant.getAsReadable(DateTimeZone.forID("-07:00"))));
-		Assert.assertEquals( "Use original time zone.",      ZONETestDateInBRST, instant.getAsDateTime().toString(TemporalInstantRfc3339.FORMATTER));
-        Assert.assertEquals( "Time at specified time zone.", ZONETestDateInET,   instant.getAsReadable(DateTimeZone.forID("-05:00")));
-		
-        instant = new TemporalInstantRfc3339(DateTime.parse(ZONETestDateInZulu));
-		Assert.assertEquals("expect a time with specified time zone.",  ZONETestDateInET, instant.getAsReadable(DateTimeZone.forID("-05:00")));
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/temporal/TemporalIntervalTest.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/temporal/TemporalIntervalTest.java b/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/temporal/TemporalIntervalTest.java
deleted file mode 100644
index 6213826..0000000
--- a/extras/indexing/src/test/java/mvm/rya/indexing/accumulo/temporal/TemporalIntervalTest.java
+++ /dev/null
@@ -1,178 +0,0 @@
-package mvm.rya.indexing.accumulo.temporal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-import java.util.Arrays;
-
-import mvm.rya.indexing.TemporalInstant;
-import mvm.rya.indexing.TemporalInterval;
-
-import org.joda.time.DateTime;
-import org.junit.Assert;
-import org.junit.Test;
-
-public class TemporalIntervalTest {
-    @Test
-    public void constructorTest() throws Exception {
-        TemporalInterval ti = new TemporalInterval( //
-                new TemporalInstantRfc3339(2014, 12, 30, 12, 59, 59), //
-                new TemporalInstantRfc3339(2014, 12, 30, 13, 00, 00)); //
-        Assert.assertNotNull(ti.getAsKeyBeginning());
-        Assert.assertNotNull(ti.getHasEnd());
-    }
-    @Test
-    public void constructorBadArgTest() throws Exception {
-        // the end precedes the beginning:
-        try {
-            TemporalInterval ti = new TemporalInterval( //
-                new TemporalInstantRfc3339(2017, 12, 30, 12, 59, 59), //
-                new TemporalInstantRfc3339( 820, 12, 30, 12, 59, 59)); // the invention of algebra.
-            Assert.assertFalse("Constructor should throw an error if the beginning is after the end, but no error for interval:"+ti, true);
-        }catch (IllegalArgumentException e) {
-            // expected to catch this error.
-        }
-    }
-
-    @Test
-    public void relationsTest() throws Exception {
-
-        TemporalInterval ti01 = new TemporalInterval(
-                new TemporalInstantRfc3339(2015, 12, 30, 12, 59, 59), //
-                new TemporalInstantRfc3339(2016, 12, 30, 13, 00, 00)); //
-
-        TemporalInterval ti02 = new TemporalInterval(
-                new TemporalInstantRfc3339(2015, 12, 30, 12, 59, 59), //
-                new TemporalInstantRfc3339(2016, 12, 30, 13, 00, 00)); //
-
-        Assert.assertTrue("same constructor parameters, should be equal.",
-                ti01.equals(ti02));
-        Assert.assertTrue(
-                "same constructor parameters, should compare 0 equal.",
-                0 == ti01.compareTo(ti02));
-
-    }
-
-    @Test
-    public void keyBeginTest() throws Exception {
-        // 58 seconds, earlier
-        TemporalInterval beginTI01 = new TemporalInterval(
-                new TemporalInstantRfc3339(2015, 12, 30, 12, 59, 58), //
-                new TemporalInstantRfc3339(2016, 12, 30, 13, 00, 00)); //
-        // 59 seconds, later
-        TemporalInterval beginTI02 = new TemporalInterval(
-                new TemporalInstantRfc3339(2015, 12, 30, 12, 59, 59), //
-                new TemporalInstantRfc3339(2016, 12, 30, 13, 00, 00)); //
-
-        String key01b = Arrays.toString(beginTI01.getAsKeyBeginning());
-        String key02b = Arrays.toString(beginTI02.getAsKeyBeginning());
-        Assert.assertEquals("key02 is later so comparesTo = 1.", 1, key02b.compareTo(key01b));
-        Assert.assertEquals("key01 is first so comparesTo = -1", -1, key01b.compareTo(key02b));
-
-    }
-    // These are shared for end test and compareTo tests.
-    // tiB03_E20 read as: Begins 3 seconds, ends at 20 seconds
-    final TemporalInterval tiB03_E20 = new TemporalInterval(//
-            new TemporalInstantRfc3339(2015, 12, 30, 12, 00, 03), //
-            new TemporalInstantRfc3339(2015, 12, 30, 12, 00, 20));
-    // 30 seconds, Begins earlier, ends later
-    final TemporalInterval tiB02_E30 = new TemporalInterval(//
-            new TemporalInstantRfc3339(2015, 12, 30, 12, 00, 02), //
-            new TemporalInstantRfc3339(2015, 12, 30, 12, 00, 30));
-    // 30 seconds, same as above
-    final TemporalInterval tiB02_E30Dup = new TemporalInterval(//
-            new TemporalInstantRfc3339(2015, 12, 30, 12, 00, 02), //
-            new TemporalInstantRfc3339(2015, 12, 30, 12, 00, 30));
-    // 30 seconds, same as above, but ends later
-    final TemporalInterval tiB02_E31 = new TemporalInterval(//
-            new TemporalInstantRfc3339(2015, 12, 30, 12, 00, 02), //
-            new TemporalInstantRfc3339(2015, 12, 30, 12, 00, 31));
-
-    @Test
-    public void CompareToTest() throws Exception {
-
-        Assert.assertEquals("interval tiB03_E20.compareTo(tiB02_E30), B03 starts later(greater) so comparesTo =  1.", 1, tiB03_E20.compareTo(tiB02_E30));
-        Assert.assertEquals("interval tiB02_E30.compareTo(tiB03_E20), B02 starts first(lesser)  so comparesTo = -1", -1, tiB02_E30.compareTo(tiB03_E20));
-        Assert.assertEquals("interval tiB02_E30.compareTo(tiB02_E31), E30 ends   first so comparesTo = -1", -1, tiB02_E30.compareTo(tiB02_E31));
-        Assert.assertEquals("interval tiB02_E30.compareTo(tiB02_E30Dup) same so comparesTo =  0", 0, tiB02_E30.compareTo(tiB02_E30Dup));
-    }
-    @Test
-    public void EqualsTest() throws Exception {
-        Object notATemporalInterval = "Iamastring.";
-        Assert.assertFalse("interval tiB02_E30.equals(tiB02_E31) differ so equals() is false.",  tiB02_E30.equals(notATemporalInterval));
-        Assert.assertFalse("interval tiB02_E30.equals(tiB02_E31) differ so equals() is false.",  tiB02_E30.equals(tiB02_E31));
-        Assert.assertTrue ("interval tiB02_E30.equals(tiB02_E30Dup) same so equals() is true.",  tiB02_E30.equals(tiB02_E30Dup));
-    }
-    @Test
-    public void keyEndTest() throws Exception {
-        String keyB03_E20 = new String( tiB03_E20.getAsKeyEnd(), "US-ASCII");
-        String keyB02_E30 = new String(tiB02_E30.getAsKeyEnd(), "US-ASCII");
-        String keyB02_E30Dup = new String(tiB02_E30Dup.getAsKeyEnd(), "US-ASCII");
-        
-        Assert.assertEquals("End keyB02_E30.compareTo(keyB03_E20), E30 is later =  1. key="+keyB02_E30, 1, keyB02_E30.compareTo(keyB03_E20));
-        Assert.assertEquals("End keyB03_E20.compareTo(keyB02_E30), E20 is first = -1", -1, keyB03_E20.compareTo(keyB02_E30));
-        Assert.assertEquals("End keyB02_E30.compareTo(keyB02_E30Dup) same so comparesTo =  0", 0, keyB02_E30.compareTo(keyB02_E30Dup));
-    }
-
-    
-
-    @Test
-     public void infinitePastFutureAlwaysTest() throws Exception {
-         final TemporalInstant TestDateString = new TemporalInstantRfc3339(new DateTime("2015-01-01T01:59:59Z"));
-         TemporalInterval tvFuture = new TemporalInterval(TestDateString,TemporalInstantRfc3339.getMaximumInstance());
-         TemporalInterval tvPast = new TemporalInterval(TemporalInstantRfc3339.getMinimumInstance(), TestDateString);
-         TemporalInterval tvAlways = new TemporalInterval(TemporalInstantRfc3339.getMinimumInstance(), TemporalInstantRfc3339.getMaximumInstance());
-         Assert.assertTrue("The future is greater (starts after) than the past for compareTo().",       tvFuture.compareTo(tvPast) > 0);
-         Assert.assertTrue("The future is greater (starts after) than always for compareTo().",         tvFuture.compareTo(tvAlways) > 0);
-         Assert.assertTrue("The past is less (starts same, ends earlier) than always for compareTo().", tvFuture.compareTo(tvPast) > 0);
-         
-    }
-    @Test
-    public void hashTest() throws Exception {
-        // Use MAX to see how it handles overflowing values.  Should silently go negative.
-        int hashcode01Same = (new TemporalInterval(new TemporalInstantRfc3339(new DateTime(Integer.MAX_VALUE / 2)), new TemporalInstantRfc3339(new DateTime(Integer.MAX_VALUE)))).hashCode();
-        int hashcode02Same = (new TemporalInterval(new TemporalInstantRfc3339(new DateTime(Integer.MAX_VALUE / 2)), new TemporalInstantRfc3339(new DateTime(Integer.MAX_VALUE)))).hashCode();
-        int hashcode03Diff = (new TemporalInterval(new TemporalInstantRfc3339(new DateTime(Integer.MAX_VALUE / 2)), new TemporalInstantRfc3339(new DateTime(Integer.MAX_VALUE)))).hashCode();
-        int hashcode04Diff = (new TemporalInterval(new TemporalInstantRfc3339(new DateTime(Integer.MIN_VALUE    )), new TemporalInstantRfc3339(new DateTime(Integer.MIN_VALUE)))).hashCode();
-        int hashcode05Diff = (new TemporalInterval(new TemporalInstantRfc3339(new DateTime(Integer.MAX_VALUE    )), new TemporalInstantRfc3339(new DateTime(Integer.MAX_VALUE)))).hashCode();
-        int hashcode06Diff = (new TemporalInterval(new TemporalInstantRfc3339(new DateTime(0)), new TemporalInstantRfc3339(new DateTime( 0)))).hashCode();
-        int hashcode07Diff = (new TemporalInterval(new TemporalInstantRfc3339(new DateTime(1000)), new TemporalInstantRfc3339(new DateTime( 1000)))).hashCode();
-        int hashcode08Diff = (new TemporalInterval(new TemporalInstantRfc3339(new DateTime(0)), new TemporalInstantRfc3339(new DateTime( 1000)))).hashCode();
-        int hashcode09Diff = (new TemporalInterval((TemporalInstantRfc3339.getMinimumInstance()),(TemporalInstantRfc3339.getMaximumInstance()) )).hashCode();
-        int hashcode10Diff = (new TemporalInterval(new TemporalInstantRfc3339(new DateTime(0))  ,(TemporalInstantRfc3339.getMaximumInstance()) )).hashCode();
-        Assert.assertEquals("Same input should produce same hashcode. (always!)", hashcode01Same , hashcode02Same);
-
-        Assert.assertTrue("Different small input should produce different hashcode. (usually!) hashcodes:"
-                +hashcode03Diff+" "+hashcode04Diff+" "+hashcode03Diff+" "+hashcode05Diff,
-                hashcode03Diff != hashcode04Diff && hashcode03Diff != hashcode05Diff);
-
-        Assert.assertTrue("Different large input should produce different hashcode. (usually!) hashcodes:"
-                +hashcode06Diff +" "+ hashcode07Diff +" "+ hashcode06Diff +" "+ hashcode08Diff
-                +" key for date 0= "+(new TemporalInstantRfc3339(new DateTime(0))).getAsKeyString()
-                +" key for date 1000= "+(new TemporalInstantRfc3339(new DateTime(1000))).getAsKeyString(),
-                hashcode06Diff != hashcode07Diff && hashcode06Diff != hashcode08Diff);
-        Assert.assertTrue("Different max and min input should produce different hashcode. (usually!) hashcodes:"
-                +hashcode09Diff +" != "+ hashcode10Diff 
-                +"fyi: key for date max= "+(TemporalInstantRfc3339.getMaximumInstance()).getAsKeyString()
-                +    " key for date min= "+(TemporalInstantRfc3339.getMinimumInstance()).getAsKeyString(),
-                hashcode09Diff != hashcode10Diff );
-
-    }
-}