http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/rya.prospector/src/test/java/mvm/rya/joinselect/AccumuloSelectivityEvalDAOTest.java
----------------------------------------------------------------------
diff --git 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/AccumuloSelectivityEvalDAOTest.java
 
b/extras/rya.prospector/src/test/java/mvm/rya/joinselect/AccumuloSelectivityEvalDAOTest.java
deleted file mode 100644
index f40b63f..0000000
--- 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/AccumuloSelectivityEvalDAOTest.java
+++ /dev/null
@@ -1,592 +0,0 @@
-package mvm.rya.joinselect;
-
-/*
- * 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.math.BigDecimal;
-import java.math.MathContext;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-import mvm.rya.accumulo.AccumuloRdfConfiguration;
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-import mvm.rya.api.layout.TablePrefixLayoutStrategy;
-import mvm.rya.api.persist.RdfEvalStatsDAO;
-import mvm.rya.joinselect.AccumuloSelectivityEvalDAO;
-import mvm.rya.prospector.service.ProspectorServiceEvalStatsDAO;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.BatchWriter;
-import org.apache.accumulo.core.client.BatchWriterConfig;
-import org.apache.accumulo.core.client.Connector;
-import org.apache.accumulo.core.client.Instance;
-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.client.mock.MockInstance;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Range;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.hadoop.io.Text;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.openrdf.query.MalformedQueryException;
-import org.openrdf.query.algebra.StatementPattern;
-import org.openrdf.query.algebra.TupleExpr;
-import org.openrdf.query.algebra.helpers.StatementPatternCollector;
-import org.openrdf.query.parser.ParsedQuery;
-import org.openrdf.query.parser.sparql.SPARQLParser;
-
-import com.google.common.collect.Lists;
-
-public class AccumuloSelectivityEvalDAOTest {
-
-    private static final String DELIM = "\u0000";
-    private final byte[] EMPTY_BYTE = new byte[0];
-    private final Value EMPTY_VAL = new Value(EMPTY_BYTE);
-
-    private String q1 = ""//
-            + "SELECT ?h  " //
-            + "{" //
-            + "  ?h <uri:howlsAt>  <uri:moon>. "//
-            + "  ?h <http://www.w3.org/2000/01/rdf-schema#label> <uri:dog> ."//
-            + "  ?h <uri:barksAt> <uri:cat> ."//
-            + "  ?h <uri:peesOn> <uri:hydrant> . "//
-            + "}";//
-
-    private String q2 = ""//
-            + "SELECT ?h  " //
-            + "{" //
-            + "   <uri:howlsAt> ?h  <uri:moon>. "//
-            + "   <http://www.w3.org/2000/01/rdf-schema#label> ?h <uri:dog> 
."//
-            + "   <uri:barksAt> ?h <uri:cat> ."//
-            + "   <uri:peesOn> ?h <uri:hydrant> . "//
-            + "}";//
-
-    private String q3 = ""//
-            + "SELECT ?h  " //
-            + "{" //
-            + "   <uri:howlsAt> <uri:moon>  ?h. "//
-            + "   <http://www.w3.org/2000/01/rdf-schema#label> <uri:dog> ?h  
."//
-            + "   <uri:barksAt> ?h <uri:cat> ."//
-            + "   ?h <uri:peesOn> <uri:hydrant> . "//
-            + "}";//
-
-    private Connector conn;
-    AccumuloRdfConfiguration arc;
-    RdfEvalStatsDAO<RdfCloudTripleStoreConfiguration> res;
-    BatchWriterConfig config;
-    Instance mock;
-
-    @Before
-    public void init() throws AccumuloException, AccumuloSecurityException, 
TableNotFoundException, TableExistsException {
-
-        mock = new MockInstance("accumulo");
-        PasswordToken pToken = new PasswordToken("pass".getBytes());
-        conn = mock.getConnector("user", pToken);
-
-        config = new BatchWriterConfig();
-        config.setMaxMemory(1000);
-        config.setMaxLatency(1000, TimeUnit.SECONDS);
-        config.setMaxWriteThreads(10);
-
-        if (conn.tableOperations().exists("rya_prospects")) {
-            conn.tableOperations().delete("rya_prospects");
-        }
-        if (conn.tableOperations().exists("rya_selectivity")) {
-            conn.tableOperations().delete("rya_selectivity");
-        }
-
-        arc = new AccumuloRdfConfiguration();
-        res = new ProspectorServiceEvalStatsDAO(conn, arc);
-        arc.setTableLayoutStrategy(new TablePrefixLayoutStrategy());
-        arc.setMaxRangesForScanner(300);
-
-    }
-
-    @Test
-    public void testInitialize() throws AccumuloException, 
AccumuloSecurityException, TableNotFoundException, TableExistsException {
-
-        AccumuloSelectivityEvalDAO accc = new AccumuloSelectivityEvalDAO();
-        accc.setConf(arc);
-        accc.setConnector(conn);
-        accc.setRdfEvalDAO(res);
-        accc.init();
-
-        TableOperations tos = conn.tableOperations();
-        Assert.assertTrue(tos.exists("rya_prospects") && 
tos.exists("rya_selectivity"));
-        Assert.assertTrue(accc.isInitialized());
-        Assert.assertTrue(accc.getConf().equals(arc));
-        Assert.assertTrue(accc.getConnector().equals(conn));
-        Assert.assertTrue(accc.getRdfEvalDAO().equals(res));
-
-    }
-
-    @Test
-    public void testCardinalityQuery1() throws AccumuloException, 
AccumuloSecurityException, TableExistsException, TableNotFoundException,
-            MalformedQueryException {
-
-        AccumuloSelectivityEvalDAO accc = new AccumuloSelectivityEvalDAO();
-        accc.setConf(arc);
-        accc.setRdfEvalDAO(res);
-        accc.setConnector(conn);
-        accc.init();
-
-        BatchWriter bw = conn.createBatchWriter("rya_prospects", config);
-        
-        BatchWriter bw1 = conn.createBatchWriter("rya_selectivity", config);
-        Mutation m = new Mutation(new Text("subjectpredicateobject" + DELIM + 
"FullTableCardinality"));
-        m.put(new Text("FullTableCardinality"), new Text("600"), EMPTY_VAL);
-        List<Mutation> list = Lists.newArrayList();
-        list.add(m);
-        bw1.addMutations(list);
-        bw1.close();
-
-        String s1 = "predicateobject" + DELIM + 
"http://www.w3.org/2000/01/rdf-schema#label"; + DELIM + "uri:dog";
-        String s2 = "predicateobject" + DELIM + "uri:barksAt" + DELIM + 
"uri:cat";
-        String s3 = "predicateobject" + DELIM + "uri:peesOn" + DELIM + 
"uri:hydrant";
-        List<Mutation> mList = new ArrayList<Mutation>();
-        Mutation m1, m2, m3;
-
-        Integer tempInt;
-        Integer tempInt2;
-
-        for (int i = 1; i < 7; i++) {
-            tempInt = 5 * i;
-            tempInt2 = 10 - i;
-            m1 = new Mutation(s1 + DELIM + i);
-            m1.put(new Text("count"), new Text(""), new 
Value((tempInt.toString()).getBytes()));
-            m2 = new Mutation(s2 + DELIM + (7 - i));
-            m2.put(new Text("count"), new Text(""), new 
Value((tempInt.toString()).getBytes()));
-            m3 = new Mutation(s3 + DELIM + (10 + i));
-            m3.put(new Text("count"), new Text(""), new 
Value((tempInt2.toString()).getBytes()));
-            mList.add(m1);
-            mList.add(m2);
-            mList.add(m3);
-        }
-
-        bw.addMutations(mList);
-        bw.close();
-
-        List<StatementPattern> spList = getSpList(q1);
-        long c1 = accc.getCardinality(arc, spList.get(0));
-        long c2 = accc.getCardinality(arc, spList.get(1));
-        long c3 = accc.getCardinality(arc, spList.get(2));
-        long c4 = accc.getCardinality(arc, spList.get(3));
-
-        Assert.assertTrue(c1 == (long) 0);
-        Assert.assertTrue(c2 == (long) 5);
-        Assert.assertTrue(c3 == (long) 30);
-        Assert.assertTrue(c4 == (long) 9);
-
-    }
-
-    @Test
-    public void testCardinalityQuery2() throws AccumuloException, 
AccumuloSecurityException, TableExistsException, TableNotFoundException,
-            MalformedQueryException {
-
-        AccumuloSelectivityEvalDAO accc = new AccumuloSelectivityEvalDAO();
-        accc.setConf(arc);
-        accc.setConnector(conn);
-        accc.setRdfEvalDAO(res);
-        accc.init();
-
-        BatchWriter bw = conn.createBatchWriter("rya_prospects", config);
-
-        BatchWriter bw1 = conn.createBatchWriter("rya_selectivity", config);
-        Mutation m = new Mutation(new Text("subjectpredicateobject" + DELIM + 
"FullTableCardinality"));
-        m.put(new Text("FullTableCardinality"), new Text("600"), EMPTY_VAL);
-        List<Mutation> list = Lists.newArrayList();
-        list.add(m);
-        bw1.addMutations(list);
-        bw1.close();
-
-        String s1 = "subjectobject" + DELIM + 
"http://www.w3.org/2000/01/rdf-schema#label"; + DELIM + "uri:dog";
-        String s2 = "subjectobject" + DELIM + "uri:barksAt" + DELIM + 
"uri:cat";
-        String s3 = "subjectobject" + DELIM + "uri:peesOn" + DELIM + 
"uri:hydrant";
-        List<Mutation> mList = new ArrayList<Mutation>();
-        Mutation m1, m2, m3;
-
-        Integer tempInt;
-        Integer tempInt2;
-
-        for (int i = 1; i < 7; i++) {
-            tempInt = 5 * i;
-            tempInt2 = 10 - i;
-            m1 = new Mutation(s1 + DELIM + i);
-            m1.put(new Text("count"), new Text(""), new 
Value((tempInt.toString()).getBytes()));
-            m2 = new Mutation(s2 + DELIM + (7 - i));
-            m2.put(new Text("count"), new Text(""), new 
Value((tempInt.toString()).getBytes()));
-            m3 = new Mutation(s3 + DELIM + (10 + i));
-            m3.put(new Text("count"), new Text(""), new 
Value((tempInt2.toString()).getBytes()));
-            mList.add(m1);
-            mList.add(m2);
-            mList.add(m3);
-        }
-        bw.addMutations(mList);
-        bw.close();
-
-        List<StatementPattern> spList = getSpList(q2);
-        long c1 = accc.getCardinality(arc, spList.get(0));
-        long c2 = accc.getCardinality(arc, spList.get(1));
-        long c3 = accc.getCardinality(arc, spList.get(2));
-        long c4 = accc.getCardinality(arc, spList.get(3));
-
-        Assert.assertTrue(c1 == (long) 0);
-        Assert.assertTrue(c2 == (long) 5);
-        Assert.assertTrue(c3 == (long) 30);
-        Assert.assertTrue(c4 == (long) 9);
-
-    }
-
-    @Test
-    public void testJoinCardinalityQuery1() throws AccumuloException, 
AccumuloSecurityException, TableExistsException,
-            TableNotFoundException, MalformedQueryException {
-
-        AccumuloSelectivityEvalDAO accc = new AccumuloSelectivityEvalDAO();
-        accc.setConf(arc);
-        accc.setConnector(conn);
-        accc.setRdfEvalDAO(res);
-        accc.init();
-
-        BatchWriter bw1 = conn.createBatchWriter("rya_prospects", config);
-        BatchWriter bw2 = conn.createBatchWriter("rya_selectivity", config);
-
-        String s1 = "predicateobject" + DELIM + 
"http://www.w3.org/2000/01/rdf-schema#label"; + DELIM + "uri:dog";
-        String s2 = "predicateobject" + DELIM + "uri:barksAt" + DELIM + 
"uri:cat";
-        String s3 = "predicateobject" + DELIM + "uri:peesOn" + DELIM + 
"uri:hydrant";
-        List<Mutation> mList = new ArrayList<Mutation>();
-        List<Mutation> mList2 = new ArrayList<Mutation>();
-        List<String> sList = Arrays.asList("subjectobject", 
"subjectpredicate", "subjectsubject", "predicateobject", "predicatepredicate",
-                "predicatesubject");
-        Mutation m1, m2, m3, m4;
-
-        m1 = new Mutation(s1 + DELIM + "1");
-        m1.put(new Text("count"), new Text(""), new Value("20".getBytes()));
-        m2 = new Mutation(s2 + DELIM + "2");
-        m2.put(new Text("count"), new Text(""), new Value("15".getBytes()));
-        m3 = new Mutation(s3 + DELIM + "3");
-        m3.put(new Text("count"), new Text(""), new Value("10".getBytes()));
-        mList.add(m1);
-        mList.add(m2);
-        mList.add(m3);
-
-        bw1.addMutations(mList);
-        bw1.close();
-
-        m1 = new Mutation(s1);
-        m2 = new Mutation(s2);
-        m3 = new Mutation(s3);
-        int i = 30;
-        int j = 60;
-        int k = 90;
-        Long count1;
-        Long count2;
-        Long count3;
-
-        for (String s : sList) {
-            count1 = (long) i;
-            count2 = (long) j;
-            count3 = (long) k;
-            m1.put(new Text(s), new Text(count1.toString()), EMPTY_VAL);
-            m2.put(new Text(s), new Text(count2.toString()), EMPTY_VAL);
-            m3.put(new Text(s), new Text(count3.toString()), EMPTY_VAL);
-            i = 2 * i;
-            j = 2 * j;
-            k = 2 * k;
-        }
-        m4 = new Mutation(new Text("subjectpredicateobject" + DELIM + 
"FullTableCardinality"));
-        m4.put(new Text("FullTableCardinality"), new Text("600"), EMPTY_VAL);
-        mList2.add(m1);
-        mList2.add(m2);
-        mList2.add(m3);
-        mList2.add(m4);
-        bw2.addMutations(mList2);
-        bw2.close();
-
-        Scanner scan = conn.createScanner("rya_selectivity", new 
Authorizations());
-        scan.setRange(new Range());
-
-        for (Map.Entry<Key, Value> entry : scan) {
-            System.out.println("Key row string is " + 
entry.getKey().getRow().toString());
-            System.out.println("Key is " + entry.getKey());
-            System.out.println("Value is " + (new 
String(entry.getKey().getColumnQualifier().toString())));
-
-        }
-
-        List<StatementPattern> spList = getSpList(q1);
-        System.out.println(spList);
-        List<Double> jCardList = new ArrayList<Double>();
-
-        for (StatementPattern sp1 : spList) {
-            for (StatementPattern sp2 : spList) {
-                jCardList.add(accc.getJoinSelect(arc, sp1, sp2));
-            }
-        }
-
-        System.out.println("Join cardinalities are " + jCardList);
-
-        Assert.assertEquals(0, jCardList.get(0), .001);
-        Assert.assertEquals(0, jCardList.get(3), .001);
-        Assert.assertEquals(6.0 / 600, jCardList.get(5), .001);
-        Assert.assertEquals(6.0 / 600, jCardList.get(6), .001);
-        Assert.assertEquals(0 / 600, jCardList.get(8), .001);
-        Assert.assertEquals(6.0 / 600, jCardList.get(7), .001);
-        Assert.assertEquals(15.0 / 600, jCardList.get(11), .001);
-        Assert.assertEquals(6.0 / 600, jCardList.get(13), .001);
-        Assert.assertEquals(10.0 / 600, jCardList.get(15), .001);
-
-        Assert.assertTrue(jCardList.get(0) == 0);
-        Assert.assertTrue(jCardList.get(3) == 0);
-        Assert.assertTrue(jCardList.get(5) == .01);
-        Assert.assertTrue(jCardList.get(6) == .01);
-        Assert.assertTrue(jCardList.get(8) == 0);
-        Assert.assertTrue(jCardList.get(7) == (6.0 / 600));
-        Assert.assertTrue(jCardList.get(11) == (1.0 / 40));
-        Assert.assertTrue(jCardList.get(13) == .01);
-        Assert.assertTrue(jCardList.get(15) == (10.0 / 600));
-
-    }
-
-    @Test
-    public void testJoinCardinalityQuery2() throws AccumuloException, 
AccumuloSecurityException, TableExistsException,
-            TableNotFoundException, MalformedQueryException {
-
-        AccumuloSelectivityEvalDAO accc = new AccumuloSelectivityEvalDAO();
-        accc.setConf(arc);
-        accc.setConnector(conn);
-        accc.setRdfEvalDAO(res);
-        accc.init();
-
-        BatchWriter bw1 = conn.createBatchWriter("rya_prospects", config);
-        BatchWriter bw2 = conn.createBatchWriter("rya_selectivity", config);
-
-        String s1 = "subjectobject" + DELIM + 
"http://www.w3.org/2000/01/rdf-schema#label"; + DELIM + "uri:dog";
-        String s2 = "subjectobject" + DELIM + "uri:barksAt" + DELIM + 
"uri:cat";
-        String s3 = "subjectobject" + DELIM + "uri:peesOn" + DELIM + 
"uri:hydrant";
-        String s4 = "objectsubject" + DELIM + "uri:dog" + DELIM + 
"http://www.w3.org/2000/01/rdf-schema#label";;
-        String s5 = "objectsubject" + DELIM + "uri:cat" + DELIM + 
"uri:barksAt";
-        String s6 = "objectsubject" + DELIM + "uri:hydrant" + DELIM + 
"uri:peesOn";
-        List<String> sList = Arrays.asList("subjectobject", 
"subjectpredicate", "subjectsubject", "predicateobject", "predicatepredicate",
-                "predicatesubject");
-        List<Mutation> mList = new ArrayList<Mutation>();
-        List<Mutation> mList2 = new ArrayList<Mutation>();
-        Mutation m1, m2, m3, m4;
-
-        m1 = new Mutation(s1 + DELIM + "1");
-        m1.put(new Text("count"), new Text(""), new Value("2".getBytes()));
-        m2 = new Mutation(s2 + DELIM + "2");
-        m2.put(new Text("count"), new Text(""), new Value("4".getBytes()));
-        m3 = new Mutation(s3 + DELIM + "3");
-        m3.put(new Text("count"), new Text(""), new Value("6".getBytes()));
-        mList.add(m1);
-        mList.add(m2);
-        mList.add(m3);
-
-        bw1.addMutations(mList);
-        bw1.close();
-
-        m1 = new Mutation(s4);
-        m2 = new Mutation(s5);
-        m3 = new Mutation(s6);
-        int i = 5;
-        int j = 6;
-        int k = 7;
-        Long count1;
-        Long count2;
-        Long count3;
-
-        for (String s : sList) {
-            count1 = (long) i;
-            count2 = (long) j;
-            count3 = (long) k;
-            m1.put(new Text(s), new Text(count1.toString()), EMPTY_VAL);
-            m2.put(new Text(s), new Text(count2.toString()), EMPTY_VAL);
-            m3.put(new Text(s), new Text(count3.toString()), EMPTY_VAL);
-            i = 2 * i;
-            j = 2 * j;
-            k = 2 * k;
-        }
-        m4 = new Mutation(new Text("subjectpredicateobject" + DELIM + 
"FullTableCardinality"));
-        m4.put(new Text("FullTableCardinality"), new Text("600"), EMPTY_VAL);
-        mList2.add(m1);
-        mList2.add(m2);
-        mList2.add(m3);
-        mList2.add(m4);
-        bw2.addMutations(mList2);
-        bw2.close();
-
-        List<StatementPattern> spList = getSpList(q2);
-        // System.out.println(spList);
-        List<Double> jCardList = new ArrayList<Double>();
-
-        for (StatementPattern sp1 : spList) {
-            for (StatementPattern sp2 : spList) {
-                jCardList.add(accc.getJoinSelect(arc, sp1, sp2));
-            }
-        }
-
-        System.out.println("Join cardinalities are " + jCardList);
-
-        Assert.assertEquals(0, jCardList.get(0), .001);
-        Assert.assertEquals(0, jCardList.get(3), .001);
-        Assert.assertEquals(2.0 / 600, jCardList.get(5), .001);
-        Assert.assertEquals(4.0 / 600, jCardList.get(6), .001);
-        Assert.assertEquals(.0 / 600, jCardList.get(8), .001);
-        Assert.assertEquals(6. / 600, jCardList.get(7), .001);
-        Assert.assertEquals(6. / 600, jCardList.get(11), .001);
-
-        Assert.assertTrue(jCardList.get(0) == 0);
-        Assert.assertTrue(jCardList.get(3) == 0);
-        Assert.assertTrue(jCardList.get(5) == (1.0 / 300));
-        Assert.assertTrue(jCardList.get(6) == (4.0 / 600));
-        Assert.assertTrue(jCardList.get(8) == 0);
-        Assert.assertTrue(jCardList.get(7) == .01);
-        Assert.assertTrue(jCardList.get(11) == .01);
-
-    }
-
-    @Test
-    public void testJoinCardinalityQuery3() throws AccumuloException, 
AccumuloSecurityException, TableExistsException,
-            TableNotFoundException, MalformedQueryException {
-
-        AccumuloSelectivityEvalDAO accc = new AccumuloSelectivityEvalDAO();
-        accc.setConf(arc);
-        accc.setConnector(conn);
-        accc.setRdfEvalDAO(res);
-        accc.init();
-
-        BatchWriter bw1 = conn.createBatchWriter("rya_prospects", config);
-        BatchWriter bw2 = conn.createBatchWriter("rya_selectivity", config);
-
-        String s1 = "subjectpredicate" + DELIM + 
"http://www.w3.org/2000/01/rdf-schema#label"; + DELIM + "uri:dog";
-        String s2 = "subjectobject" + DELIM + "uri:barksAt" + DELIM + 
"uri:cat";
-        String s3 = "predicateobject" + DELIM + "uri:peesOn" + DELIM + 
"uri:hydrant";
-        String s4 = "subjectpredicate" + DELIM + "uri:howlsAt" + DELIM + 
"uri:moon";
-        String s5 = "objectsubject" + DELIM + "uri:cat" + DELIM + 
"uri:barksAt";
-
-        List<String> sList = Arrays.asList("subjectobject", "objectsubject", 
"objectobject", "objectpredicate", "subjectpredicate",
-                "subjectsubject", "predicateobject", "predicatepredicate", 
"predicatesubject");
-        List<Mutation> mList = new ArrayList<Mutation>();
-        List<Mutation> mList2 = new ArrayList<Mutation>();
-        Mutation m1, m2, m3, m4, m5, m6;
-
-        m1 = new Mutation(s1 + DELIM + "1");
-        m1.put(new Text("count"), new Text(""), new Value("15".getBytes()));
-        m2 = new Mutation(s2 + DELIM + "2");
-        m2.put(new Text("count"), new Text(""), new Value("11".getBytes()));
-        m3 = new Mutation(s3 + DELIM + "3");
-        m3.put(new Text("count"), new Text(""), new Value("13".getBytes()));
-        m4 = new Mutation(s4 + DELIM + "8");
-        m4.put(new Text("count"), new Text(""), new Value("20".getBytes()));
-        m5 = new Mutation(s4 + DELIM + "2");
-        m5.put(new Text("count"), new Text(""), new Value("10".getBytes()));
-
-        mList.add(m1);
-        mList.add(m2);
-        mList.add(m3);
-        mList.add(m4);
-        mList.add(m5);
-
-        bw1.addMutations(mList);
-        bw1.close();
-
-        m1 = new Mutation(s1);
-        m2 = new Mutation(s5);
-        m3 = new Mutation(s3);
-        m4 = new Mutation(s4);
-        int i = 5;
-        int j = 6;
-        int k = 7;
-        int l = 8;
-        Long count1;
-        Long count2;
-        Long count3;
-        Long count4;
-
-        for (String s : sList) {
-            count1 = (long) i;
-            count2 = (long) j;
-            count3 = (long) k;
-            count4 = (long) l;
-            m1.put(new Text(s), new Text(count1.toString()), EMPTY_VAL);
-            m2.put(new Text(s), new Text(count2.toString()), EMPTY_VAL);
-            m3.put(new Text(s), new Text(count3.toString()), EMPTY_VAL);
-            m4.put(new Text(s), new Text(count4.toString()), EMPTY_VAL);
-            i = 2 * i;
-            j = 2 * j;
-            k = 2 * k;
-            l = 2 * l;
-        }
-        m5 = new Mutation(new Text("subjectpredicateobject" + DELIM + 
"FullTableCardinality"));
-        m5.put(new Text("FullTableCardinality"), new Text("600"), EMPTY_VAL);
-        mList2.add(m1);
-        mList2.add(m2);
-        mList2.add(m3);
-        mList2.add(m4);
-        mList2.add(m5);
-        bw2.addMutations(mList2);
-        bw2.close();
-
-        List<StatementPattern> spList = getSpList(q3);
-        System.out.println(spList);
-        List<Double> jCardList = new ArrayList<Double>();
-
-        for (StatementPattern sp1 : spList) {
-            for (StatementPattern sp2 : spList) {
-                jCardList.add(accc.getJoinSelect(arc, sp1, sp2));
-            }
-        }
-
-        MathContext mc = new MathContext(3);
-
-        Assert.assertEquals(3.2 / 600, jCardList.get(0), .001);
-        Assert.assertEquals(0.5384615384615384 / 600, jCardList.get(3), .001);
-        Assert.assertEquals(1.3333333333333333 / 600, jCardList.get(5), .001);
-        Assert.assertEquals(2.6666666666666665 / 600, jCardList.get(6), .001);
-        Assert.assertEquals(6.4 / 600, jCardList.get(8), .001);
-        Assert.assertEquals(13. / 600, jCardList.get(15), .001);
-
-        Assert.assertTrue(new 
BigDecimal(jCardList.get(2)).round(mc).equals(new BigDecimal(64.0 / 
6000).round(mc)));
-        Assert.assertTrue(new 
BigDecimal(jCardList.get(7)).round(mc).equals(new BigDecimal(7.0 / 
7800).round(mc)));
-        Assert.assertTrue(new 
BigDecimal(jCardList.get(14)).round(mc).equals(new BigDecimal(112.0 / 
7800).round(mc)));
-
-    }
-
-    private List<StatementPattern> getSpList(String query) throws 
MalformedQueryException {
-
-        SPARQLParser sp = new SPARQLParser();
-        ParsedQuery pq = sp.parseQuery(query, null);
-        TupleExpr te = pq.getTupleExpr();
-
-        return StatementPatternCollector.process(te);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/CardinalityIdentityReducerTest.java
----------------------------------------------------------------------
diff --git 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/CardinalityIdentityReducerTest.java
 
b/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/CardinalityIdentityReducerTest.java
deleted file mode 100644
index 4a57f31..0000000
--- 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/CardinalityIdentityReducerTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package mvm.rya.joinselect.mr;
-
-/*
- * 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.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import mvm.rya.joinselect.mr.utils.CardList;
-import mvm.rya.joinselect.mr.utils.TripleEntry;
-
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Value;
-import org.apache.hadoop.io.Text;
-import org.apache.hadoop.mrunit.mapreduce.ReduceDriver;
-import org.junit.Test;
-
-public class CardinalityIdentityReducerTest {
-
-  private static final String DELIM = "\u0000";
-
-  @Test
-  public void testCIReducerOneConstant() throws InterruptedException, 
IOException {
-
-    TripleEntry te = new TripleEntry(new Text("urn:gem:etype#1234"), new 
Text(""), new Text("subject"), new Text(""), new Text("object"));
-    CardList cL1 = new CardList(1, 2, 3, 0, 0, 0);
-    CardList cL2 = new CardList(4, 5, 6, 0, 0, 0);
-    CardList cl = new CardList(5, 7, 9, 0, 0, 0);
-    List<CardList> list = new ArrayList<CardList>();
-    list.add(cL1);
-    list.add(cL2);
-
-    Text row = new Text(te.getFirstPos().toString() + DELIM + 
te.getFirst().toString());
-    Mutation m1 = new Mutation(row);
-    m1.put(new Text(te.getKeyPos().toString() + "subject"), new 
Text(cl.getcardS().toString()), new Value(new byte[0]));
-    Mutation m2 = new Mutation(row);
-    m2.put(new Text(te.getKeyPos().toString() + "predicate"), new 
Text(cl.getcardP().toString()), new Value(new byte[0]));
-    Mutation m3 = new Mutation(row);
-    m3.put(new Text(te.getKeyPos().toString() + "object"), new 
Text(cl.getcardO().toString()), new Value(new byte[0]));
-    Text table = new Text("");
-
-    new ReduceDriver<TripleEntry,CardList,Text,Mutation>().withReducer(new 
JoinSelectStatisticsSum.CardinalityIdentityReducer()).withInput(te, list)
-        .withOutput(table, m1).withOutput(table, m2).withOutput(table, 
m3).runTest();
-
-  }
-
-  @Test
-  public void testCIReducerTwoConstant() throws InterruptedException, 
IOException {
-
-    TripleEntry te = new TripleEntry(new Text("urn:gem:etype#1234"), new 
Text("urn:gem#pred"), new Text("subject"), new Text("predicate"), new 
Text("object"));
-    CardList cL1 = new CardList(1, 2, 3, 0, 0, 0);
-    CardList cL2 = new CardList(4, 5, 6, 0, 0, 0);
-    CardList cl = new CardList(5, 7, 9, 0, 0, 0);
-    List<CardList> list = new ArrayList<CardList>();
-    list.add(cL1);
-    list.add(cL2);
-
-    Text row = new Text(te.getFirstPos().toString() + 
te.getSecondPos().toString() + DELIM + te.getFirst().toString() + DELIM + 
te.getSecond());
-    Mutation m1 = new Mutation(row);
-    m1.put(new Text(te.getKeyPos().toString() + "subject"), new 
Text(cl.getcardS().toString()), new Value(new byte[0]));
-    Mutation m2 = new Mutation(row);
-    m2.put(new Text(te.getKeyPos().toString() + "predicate"), new 
Text(cl.getcardP().toString()), new Value(new byte[0]));
-    Mutation m3 = new Mutation(row);
-    m3.put(new Text(te.getKeyPos().toString() + "object"), new 
Text(cl.getcardO().toString()), new Value(new byte[0]));
-    Text table = new Text("");
-
-    new ReduceDriver<TripleEntry,CardList,Text,Mutation>().withReducer(new 
JoinSelectStatisticsSum.CardinalityIdentityReducer()).withInput(te, list)
-        .withOutput(table, m1).withOutput(table, m2).withOutput(table, 
m3).runTest();
-
-  }
-
-  @Test
-  public void testJoinTwoVars() throws InterruptedException, IOException {
-
-    TripleEntry te = new TripleEntry(new Text("urn:gem:etype#1234"), new 
Text(""), new Text("subject"), new Text(""), new Text("predicateobject"));
-    CardList cL1 = new CardList(0, 0, 0, 1, 2, 3);
-    CardList cL2 = new CardList(0, 0, 0, 4, 5, 6);
-    CardList cl = new CardList(0, 0, 0, 5, 7, 9);
-    List<CardList> list = new ArrayList<CardList>();
-    list.add(cL1);
-    list.add(cL2);
-
-    Text row = new Text(te.getFirstPos().toString() + DELIM + 
te.getFirst().toString());
-    Mutation m1 = new Mutation(row);
-    m1.put(new Text(te.getKeyPos().toString() + "subjectpredicate"), new 
Text(cl.getcardSP().toString()), new Value(new byte[0]));
-    Mutation m2 = new Mutation(row);
-    m2.put(new Text(te.getKeyPos().toString() + "predicateobject"), new 
Text(cl.getcardPO().toString()), new Value(new byte[0]));
-    Mutation m3 = new Mutation(row);
-    m3.put(new Text(te.getKeyPos().toString() + "objectsubject"), new 
Text(cl.getcardSO().toString()), new Value(new byte[0]));
-    Text table = new Text("");
-
-    new ReduceDriver<TripleEntry,CardList,Text,Mutation>().withReducer(new 
JoinSelectStatisticsSum.CardinalityIdentityReducer()).withInput(te, list)
-        .withOutput(table, m1).withOutput(table, m2).withOutput(table, 
m3).runTest();
-
-  }
-
-  @Test
-  public void testJoinTwoVarsReverseOrder() throws InterruptedException, 
IOException {
-
-    TripleEntry te = new TripleEntry(new Text("urn:gem:etype#1234"), new 
Text(""), new Text("subject"), new Text(""), new Text("objectpredicate"));
-    CardList cL1 = new CardList(0, 0, 0, 1, 2, 3);
-    CardList cL2 = new CardList(0, 0, 0, 4, 5, 6);
-    CardList cl = new CardList(0, 0, 0, 5, 7, 9);
-    List<CardList> list = new ArrayList<CardList>();
-    list.add(cL1);
-    list.add(cL2);
-
-    Text row = new Text(te.getFirstPos().toString() + DELIM + 
te.getFirst().toString());
-    Mutation m1 = new Mutation(row);
-    m1.put(new Text("predicateobject" + "predicatesubject"), new 
Text(cl.getcardSP().toString()), new Value(new byte[0]));
-    Mutation m2 = new Mutation(row);
-    m2.put(new Text("predicateobject" + "objectpredicate"), new 
Text(cl.getcardPO().toString()), new Value(new byte[0]));
-    Mutation m3 = new Mutation(row);
-    m3.put(new Text("predicateobject" + "subjectobject"), new 
Text(cl.getcardSO().toString()), new Value(new byte[0]));
-    Text table = new Text("");
-
-    new ReduceDriver<TripleEntry,CardList,Text,Mutation>().withReducer(new 
JoinSelectStatisticsSum.CardinalityIdentityReducer()).withInput(te, list)
-        .withOutput(table, m1).withOutput(table, m2).withOutput(table, 
m3).runTest();
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/CardinalityMapperTest.java
----------------------------------------------------------------------
diff --git 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/CardinalityMapperTest.java
 
b/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/CardinalityMapperTest.java
deleted file mode 100644
index 3818300..0000000
--- 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/CardinalityMapperTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package mvm.rya.joinselect.mr;
-
-/*
- * 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.io.IOException;
-
-import mvm.rya.joinselect.mr.JoinSelectProspectOutput;
-import mvm.rya.joinselect.mr.utils.CardinalityType;
-import mvm.rya.joinselect.mr.utils.CompositeType;
-import mvm.rya.joinselect.mr.utils.TripleCard;
-
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Value;
-import org.apache.hadoop.io.Text;
-import org.apache.hadoop.mrunit.mapreduce.MapDriver;
-import org.junit.Test;
-
-public class CardinalityMapperTest {
-
-  private static final String DELIM = "\u0000";
-
-  public enum TripleValueType {
-    subject, predicate, object, subjectpredicate, predicateobject, 
subjectobject
-  }
-
-  @Test
-  public void testOutput() throws InterruptedException, IOException {
-
-    String s = "urn:gem:etype#1234";
-    String p = "urn:gem#pred";
-
-    Text t1 = new Text(TripleValueType.subject.name() + DELIM + s + DELIM + 1);
-    Text t2 = new Text(TripleValueType.predicate.name() + DELIM + p + DELIM + 
2);
-    Text t3 = new Text(TripleValueType.subjectpredicate.name() + DELIM + s + 
DELIM + p + DELIM + 3);
-
-    byte[] b = new byte[0];
-    byte[] c = "25".getBytes();
-    byte[] d = "47".getBytes();
-    byte[] e = "15".getBytes();
-
-    Key key1 = new Key(t1.getBytes(), b, b, b, 1);
-    Key key2 = new Key(t2.getBytes(), b, b, b, 1);
-    Key key3 = new Key(t3.getBytes(), b, b, b, 1);
-    Value val1 = new Value(c);
-    Value val2 = new Value(d);
-    Value val3 = new Value(e);
-
-    // System.out.println("Keys are " + key1 + " and " + key2);
-
-    new MapDriver<Key,Value,CompositeType,TripleCard>().withMapper(new 
JoinSelectProspectOutput.CardinalityMapper()).withInput(key1, val1)
-        .withInput(key2, val2).withInput(key3, val3).withOutput(new 
CompositeType(s, 1), new TripleCard(new CardinalityType(25, "subject", 1)))
-        .withOutput(new CompositeType(p, 1), new TripleCard(new 
CardinalityType(47, "predicate", 2)))
-        .withOutput(new CompositeType(s + DELIM + p, 1), new TripleCard(new 
CardinalityType(15, "subjectpredicate", 3))).runTest();
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/FullTableSizeTest.java
----------------------------------------------------------------------
diff --git 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/FullTableSizeTest.java
 
b/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/FullTableSizeTest.java
deleted file mode 100644
index 705edb1..0000000
--- 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/FullTableSizeTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package mvm.rya.joinselect.mr;
-
-/*
- * 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.io.IOException;
-
-import mvm.rya.joinselect.mr.FullTableSize;
-
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Value;
-import org.apache.hadoop.io.IntWritable;
-import org.apache.hadoop.io.Text;
-import org.apache.hadoop.mrunit.mapreduce.MapReduceDriver;
-import org.junit.Test;
-
-//TODO fix table names!
-
-public class FullTableSizeTest {
-
-    private static final String DELIM = "\u0000";
-
-    @Test
-    public void testFullTableSize() throws IOException {
-
-        Value value = new Value(new byte[0]);
-
-        Mutation m = new Mutation(new Text("subjectpredicateobject" + DELIM + 
"FullTableCardinality"));
-        m.put(new Text("FullTableCardinality"), new Text("15"), new Value(new 
byte[0]));
-
-        new MapReduceDriver<Key, Value, Text, IntWritable, Text, Mutation>()
-                .withMapper(new FullTableSize.FullTableMapper()).withInput(new 
Key(new Text("entry1")), value)
-                .withInput(new Key(new Text("entry2")), value).withInput(new 
Key(new Text("entry3")), value)
-                .withInput(new Key(new Text("entry4")), value).withInput(new 
Key(new Text("entry5")), value)
-                .withInput(new Key(new Text("entry6")), value).withInput(new 
Key(new Text("entry7")), value)
-                .withInput(new Key(new Text("entry8")), value).withInput(new 
Key(new Text("entry9")), value)
-                .withInput(new Key(new Text("entry10")), value).withInput(new 
Key(new Text("entry11")), value)
-                .withInput(new Key(new Text("entry12")), value).withInput(new 
Key(new Text("entry13")), value)
-                .withInput(new Key(new Text("entry14")), value).withInput(new 
Key(new Text("entry15")), value)
-                .withCombiner(new 
FullTableSize.FullTableCombiner()).withReducer(new 
FullTableSize.FullTableReducer())
-                .withOutput(new Text(""), m).runTest();
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinReducerTest.java
----------------------------------------------------------------------
diff --git 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinReducerTest.java
 
b/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinReducerTest.java
deleted file mode 100644
index be03565..0000000
--- 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinReducerTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package mvm.rya.joinselect.mr;
-
-/*
- * 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.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import mvm.rya.joinselect.mr.JoinSelectAggregate;
-import mvm.rya.joinselect.mr.utils.CardList;
-import mvm.rya.joinselect.mr.utils.CardinalityType;
-import mvm.rya.joinselect.mr.utils.CompositeType;
-import mvm.rya.joinselect.mr.utils.TripleCard;
-import mvm.rya.joinselect.mr.utils.TripleEntry;
-
-import org.apache.hadoop.mrunit.mapreduce.ReduceDriver;
-import org.junit.Test;
-
-public class JoinReducerTest {
-
-  private static final String DELIM = "\u0000";
-
-  @Test
-  public void testSingleConstCard() throws InterruptedException, IOException {
-
-    CompositeType ct = new CompositeType("urn:gem:etype#1234", 1);
-    TripleEntry te = new TripleEntry("urn:gem#pred", "urn:gem:etype#4567", 
"predicate", "object", "subject");
-    CardinalityType c5 = new CardinalityType(45, "object", 0);
-    CardinalityType c1 = new CardinalityType(25, "subject", 2);
-    CardinalityType c2 = new CardinalityType(27, "predicate", 2);
-    CardinalityType c3 = new CardinalityType(29, "object", 2);
-    CardinalityType c4 = new CardinalityType(31, "predicate", 1);
-    List<TripleCard> list = new ArrayList<TripleCard>();
-    list.add(new TripleCard(c1));
-    list.add(new TripleCard(c2));
-    list.add(new TripleCard(c3));
-    list.add(new TripleCard(c4));
-    list.add(new TripleCard(c5));
-    list.add(new TripleCard(te));
-    System.out.println("List is " + list);
-
-    new 
ReduceDriver<CompositeType,TripleCard,TripleEntry,CardList>().withReducer(new 
JoinSelectAggregate.JoinReducer()).withInput(ct, list)
-        .withOutput(te, new CardList(25, 31, 45, 0, 0, 0)).runTest();
-
-  }
-
-  @Test
-  public void testTwoTripleEntry() throws InterruptedException, IOException {
-
-    CompositeType ct = new CompositeType("urn:gem:etype#1234", 1);
-    TripleEntry te1 = new TripleEntry("urn:gem#pred", "urn:gem:etype#4567", 
"predicate", "object", "subject");
-    TripleEntry te2 = new TripleEntry("urn:gem#8910", "urn:gem:etype#4567", 
"subject", "predicate", "object");
-    CardinalityType c5 = new CardinalityType(45, "object", 0);
-    CardinalityType c1 = new CardinalityType(25, "subject", 2);
-    CardinalityType c2 = new CardinalityType(27, "predicate", 2);
-    CardinalityType c3 = new CardinalityType(29, "object", 2);
-    CardinalityType c4 = new CardinalityType(31, "predicate", 1);
-    List<TripleCard> list = new ArrayList<TripleCard>();
-    list.add(new TripleCard(c1));
-    list.add(new TripleCard(c2));
-    list.add(new TripleCard(c3));
-    list.add(new TripleCard(c4));
-    list.add(new TripleCard(c5));
-    list.add(new TripleCard(te1));
-    list.add(new TripleCard(te2));
-    System.out.println("List is " + list);
-
-    new 
ReduceDriver<CompositeType,TripleCard,TripleEntry,CardList>().withReducer(new 
JoinSelectAggregate.JoinReducer()).withInput(ct, list)
-        .withOutput(te1, new CardList(25, 31, 45, 0, 0, 0)).withOutput(te2, 
new CardList(25, 31, 45, 0, 0, 0)).runTest();
-
-  }
-
-  @Test
-  public void testTwoConstCard() throws InterruptedException, IOException {
-
-    CompositeType ct1 = new CompositeType("urn:gem#pred" + DELIM + 
"urn:gem:etype#1234", 1);
-    TripleEntry te1 = new TripleEntry("uri:testSubject", "", "subject", "", 
"predicateobject");
-    TripleEntry te2 = new TripleEntry("uri:testSubject", "", "subject", "", 
"objectpredicate");
-
-    CardinalityType c5 = new CardinalityType(45, "subjectobject", 0);
-    CardinalityType c1 = new CardinalityType(25, "subjectobject", 2);
-    CardinalityType c2 = new CardinalityType(27, "predicateobject", 5);
-    CardinalityType c3 = new CardinalityType(29, "predicateobject", 2);
-    CardinalityType c4 = new CardinalityType(31, "subjectpredicate", 1);
-    CardinalityType c6 = new CardinalityType(56, "subjectpredicate", 2);
-
-    List<TripleCard> list1 = new ArrayList<TripleCard>();
-
-    list1.add(new TripleCard(c1));
-    list1.add(new TripleCard(c2));
-    list1.add(new TripleCard(c3));
-    list1.add(new TripleCard(c4));
-    list1.add(new TripleCard(c5));
-    list1.add(new TripleCard(c6));
-    list1.add(new TripleCard(te1));
-    list1.add(new TripleCard(te2));
-
-    // System.out.println("List is " + list);
-
-    new 
ReduceDriver<CompositeType,TripleCard,TripleEntry,CardList>().withReducer(new 
JoinSelectAggregate.JoinReducer()).withInput(ct1, list1)
-        .withOutput(te1, new CardList(0, 0, 0, 31, 29, 45)).withOutput(te2, 
new CardList(0, 0, 0, 31, 29, 45)).runTest();
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinSelectMapperTest.java
----------------------------------------------------------------------
diff --git 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinSelectMapperTest.java
 
b/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinSelectMapperTest.java
deleted file mode 100644
index 0d53b90..0000000
--- 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinSelectMapperTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package mvm.rya.joinselect.mr;
-
-/*
- * 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.io.IOException;
-import java.util.Map;
-
-import mvm.rya.joinselect.mr.JoinSelectSpoTableOutput;
-import mvm.rya.joinselect.mr.utils.CompositeType;
-import mvm.rya.joinselect.mr.utils.TripleCard;
-import mvm.rya.joinselect.mr.utils.TripleEntry;
-import mvm.rya.api.RdfCloudTripleStoreConstants.TABLE_LAYOUT;
-import mvm.rya.api.domain.RyaStatement;
-import mvm.rya.api.domain.RyaType;
-import mvm.rya.api.domain.RyaURI;
-import mvm.rya.api.resolver.triple.TripleRow;
-import mvm.rya.api.resolver.triple.TripleRowResolver;
-import mvm.rya.api.resolver.triple.TripleRowResolverException;
-import mvm.rya.api.resolver.triple.impl.WholeRowTripleResolver;
-
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Value;
-import org.apache.hadoop.io.IntWritable;
-import org.apache.hadoop.io.Text;
-import org.apache.hadoop.mrunit.mapreduce.MapDriver;
-import org.junit.Test;
-
-public class JoinSelectMapperTest {
-
-  private static final String DELIM = "\u0000";
-
-  @Test
-  public void testOutput() throws TripleRowResolverException, IOException {
-
-    RyaStatement rya = new RyaStatement(new RyaURI("urn:gem:etype#1234"), new 
RyaURI("urn:gem#pred"), new RyaType("mydata1"));
-    Text s = new Text(rya.getSubject().getData());
-    Text p = new Text(rya.getPredicate().getData());
-    Text o = new Text(rya.getObject().getData());
-    Text sp = new Text(rya.getSubject().getData() + DELIM + 
rya.getPredicate().getData());
-    Text so = new Text(rya.getSubject().getData() + DELIM + 
rya.getObject().getData());
-    Text po = new Text(rya.getPredicate().getData() + DELIM + 
rya.getObject().getData());
-    Text ps = new Text(rya.getPredicate().getData() + DELIM + 
rya.getSubject().getData());
-    Text op = new Text(rya.getObject().getData() + DELIM + 
rya.getPredicate().getData());
-    Text os = new Text(rya.getObject().getData() + DELIM + 
rya.getSubject().getData());
-
-    TripleEntry t1 = new TripleEntry(s, p, new Text("subject"), new 
Text("predicate"), new Text("object"));
-    TripleEntry t2 = new TripleEntry(p, o, new Text("predicate"), new 
Text("object"), new Text("subject"));
-    TripleEntry t3 = new TripleEntry(o, s, new Text("object"), new 
Text("subject"), new Text("predicate"));
-    TripleEntry t4 = new TripleEntry(o, new Text(""), new Text("object"), new 
Text(""), new Text("subjectpredicate"));
-    TripleEntry t5 = new TripleEntry(p, new Text(""), new Text("predicate"), 
new Text(""), new Text("objectsubject"));
-    TripleEntry t6 = new TripleEntry(s, new Text(""), new Text("subject"), new 
Text(""), new Text("predicateobject"));
-    TripleEntry t7 = new TripleEntry(s, new Text(""), new Text("subject"), new 
Text(""), new Text("objectpredicate"));
-    TripleEntry t8 = new TripleEntry(p, new Text(""), new Text("predicate"), 
new Text(""), new Text("subjectobject"));
-    TripleEntry t9 = new TripleEntry(o, new Text(""), new Text("object"), new 
Text(""), new Text("predicatesubject"));
-
-    TripleRowResolver trr = new WholeRowTripleResolver();
-    Map<TABLE_LAYOUT,TripleRow> map = trr.serialize(rya);
-    System.out.println(map);
-    TripleRow tr = map.get(TABLE_LAYOUT.SPO);
-    System.out.println("Triple row is" + tr);
-    System.out.println("ColumnV is " + tr.getTimestamp());
-    byte[] b = new byte[0];
-    Key key = new Key(tr.getRow(), tr.getColumnFamily(), 
tr.getColumnQualifier(), b, 1);
-    Value val = new Value(b);
-
-    new MapDriver<Key,Value,CompositeType,TripleCard>().withMapper(new 
JoinSelectSpoTableOutput.JoinSelectMapper()).withInput(key, val)
-        .withOutput(new CompositeType(o, new IntWritable(2)), new 
TripleCard(t1)).withOutput(new CompositeType(s, new IntWritable(2)), new 
TripleCard(t2))
-        .withOutput(new CompositeType(p, new IntWritable(2)), new 
TripleCard(t3)).withOutput(new CompositeType(po, new IntWritable(2)), new 
TripleCard(t6))
-        .withOutput(new CompositeType(so, new IntWritable(2)), new 
TripleCard(t5)).withOutput(new CompositeType(sp, new IntWritable(2)), new 
TripleCard(t4))
-        .withOutput(new CompositeType(op, new IntWritable(2)), new 
TripleCard(t7)).withOutput(new CompositeType(os, new IntWritable(2)), new 
TripleCard(t8))
-        .withOutput(new CompositeType(ps, new IntWritable(2)), new 
TripleCard(t9)).runTest();
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinSelectProspectOutputTest.java
----------------------------------------------------------------------
diff --git 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinSelectProspectOutputTest.java
 
b/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinSelectProspectOutputTest.java
deleted file mode 100644
index 19c90a3..0000000
--- 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinSelectProspectOutputTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package mvm.rya.joinselect.mr;
-
-/*
- * 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 org.junit.Assert.*;
-
-import org.junit.Test;
-
-import java.io.IOException;
-
-import mvm.rya.joinselect.mr.JoinSelectProspectOutput;
-import mvm.rya.joinselect.mr.utils.CardinalityType;
-import mvm.rya.joinselect.mr.utils.CompositeType;
-import mvm.rya.joinselect.mr.utils.TripleCard;
-
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Value;
-import org.apache.hadoop.io.IntWritable;
-import org.apache.hadoop.io.Text;
-import org.apache.hadoop.mrunit.mapreduce.MapDriver;
-import org.junit.Test;
-
-public class JoinSelectProspectOutputTest {
-
-    private static final String DELIM = "\u0000";
-
-    public enum TripleValueType {
-        subject, predicate, object, subjectpredicate, predicateobject, 
subjectobject
-    }
-
-    @Test
-    public void testOutput() throws InterruptedException, IOException {
-
-        String s = "urn:gem:etype#1234";
-        String p = "urn:gem#pred";
-
-        String ts = "798497748386999999";
-        
-        Text t1 = new Text(TripleValueType.subject.name() + DELIM + s + DELIM 
+ 1);
-        Text t2 = new Text(TripleValueType.predicate.name() + DELIM + p + 
DELIM + 2);
-        Text t3 = new Text(TripleValueType.subjectpredicate.name() + DELIM + s 
+ DELIM + p + DELIM + ts);
-
-        byte[] b = new byte[0];
-        byte[] c = "25".getBytes();
-        byte[] d = "47".getBytes();
-        byte[] e = "15".getBytes();
-
-        Key key1 = new Key(t1.getBytes(), b, b, b, 1);
-        Key key2 = new Key(t2.getBytes(), b, b, b, 1);
-        Key key3 = new Key(t3.getBytes(), b, b, b, 1);
-        Value val1 = new Value(c);
-        Value val2 = new Value(d);
-        Value val3 = new Value(e);
-        
-       
-
-        // System.out.println("Keys are " + key1 + " and " + key2);
-
-        new MapDriver<Key, Value, CompositeType, TripleCard>()
-                .withMapper(new JoinSelectProspectOutput.CardinalityMapper())
-                .withInput(key1, val1)
-                .withInput(key2, val2)
-                .withInput(key3, val3)
-                .withOutput(new CompositeType(s, 1), new TripleCard(new 
CardinalityType(25, "subject", 1)))
-                .withOutput(new CompositeType(p, 1), new TripleCard(new 
CardinalityType(47, "predicate", 2)))
-                .withOutput(new CompositeType(s + DELIM + p, 1),
-                        new TripleCard(new CardinalityType(15, 
"subjectpredicate", Long.parseLong(ts)))).runTest();
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinSelectStatisticsSumTest.java
----------------------------------------------------------------------
diff --git 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinSelectStatisticsSumTest.java
 
b/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinSelectStatisticsSumTest.java
deleted file mode 100644
index 98236d3..0000000
--- 
a/extras/rya.prospector/src/test/java/mvm/rya/joinselect/mr/JoinSelectStatisticsSumTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package mvm.rya.joinselect.mr;
-
-/*
- * 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.io.IOException;
-
-import mvm.rya.joinselect.mr.JoinSelectStatisticsSum;
-import mvm.rya.joinselect.mr.utils.CardList;
-import mvm.rya.joinselect.mr.utils.TripleEntry;
-
-import org.apache.hadoop.io.Text;
-import org.apache.hadoop.mrunit.mapreduce.MapDriver;
-import org.junit.Test;
-
-public class JoinSelectStatisticsSumTest {
-
-  @Test
-  public void testFullTripleEntry() throws InterruptedException, IOException {
-
-    TripleEntry te1 = new TripleEntry(new Text("urn:gem:etype#1234"), new 
Text("urn:gem#pred"), new Text("subject"), new Text("predicate"), new 
Text("object"));
-    CardList cl = new CardList(34, 52, 63, 0, 0, 0);
-    TripleEntry te2 = new TripleEntry(new Text("urn:gem:etype#1234"), new 
Text(""), new Text("subject"), new Text(""), new Text("object"));
-    TripleEntry te3 = new TripleEntry(new Text("urn:gem#pred"), new Text(""), 
new Text("predicate"), new Text(""), new Text("object"));
-
-    new MapDriver<TripleEntry,CardList,TripleEntry,CardList>().withMapper(new 
JoinSelectStatisticsSum.CardinalityIdentityMapper()).withInput(te1, cl)
-        .withOutput(te2, cl).withOutput(te3, cl).withOutput(te1, cl).runTest();
-
-  }
-
-  @Test
-  public void testPartialTripleEntry() throws InterruptedException, 
IOException {
-
-    TripleEntry te1 = new TripleEntry(new Text("urn:gem:etype#1234"), new 
Text(""), new Text("subject"), new Text(""), new Text("object"));
-    CardList cl = new CardList(34, 52, 63, 0, 0, 0);
-
-    new MapDriver<TripleEntry,CardList,TripleEntry,CardList>().withMapper(new 
JoinSelectStatisticsSum.CardinalityIdentityMapper()).withInput(te1, cl)
-        .withOutput(te1, cl).runTest();
-
-  }
-
-}

Reply via email to