diff bindings/java/test/TestQuery.java @ 729:a9978a6d0bb3

* Initial code to handle querying by datum * Created Datum class (without key var) * Added toString to Result for quick debug * Needs plenty of testing!
author mas01mj
date Tue, 03 Aug 2010 17:08:54 +0000
parents d3407d1e2f57
children
line wrap: on
line diff
--- a/bindings/java/test/TestQuery.java	Mon Jul 26 16:19:56 2010 +0000
+++ b/bindings/java/test/TestQuery.java	Tue Aug 03 17:08:54 2010 +0000
@@ -35,15 +35,41 @@
 		query.setIncludeKeys(new String[]{"feat1"});
 		query.setExcludeKeys(new String[]{"feat2"});
 		Vector<Result> results = testDB.query("feat1", query);
-/*		System.out.println(results.size());
-		for(Result result: results)
+	}
+	
+	public void testDataQuery()
+	{
+		// Insert the same feature twice
+		AudioDB testDB = new AudioDB(testDBFile);
+		assertTrue("DB created", testDB.create(1, 2, 1));
+		testDB.open(AudioDB.Mode.O_RDWR);
+		assertTrue("Insert feature file", testDB.insert("feat1", testFeatureFile));
+		assertTrue("Insert feature file again", testDB.insert("feat2", testFeatureFile));
+		testDB.close();
+
+		testDB.open(AudioDB.Mode.O_RDONLY);
+		Status status = testDB.getStatus();
+		assertEquals("Two features", 2, status.getNumFiles());
+
+		Query query = new Query();
+		query.setSeqLength(1);
+		query.setSeqStart(0);
+		query.setIncludeKeys(new String[]{"feat1"});
+		query.setExcludeKeys(new String[]{"feat2"});
+
+		Datum datum = new Datum();
+		datum.setData(new double[]{0.0, 2.2, 1.1});
+		datum.setNvectors(3);
+		datum.setDim(1);
+		query.setDatum(datum);
+
+		Vector<Result> results = testDB.query(query);
+		if(results != null)
 		{
-			System.out.println(result.getKey());
-			System.out.println(result.getDistance());
-			System.out.println(result.getQpos());
-			System.out.println(result.getIpos());
-		}*/
+			System.out.println("Here with "+results);
+		}
 	}
+
 /*
 	public void testAdvanced()
 	{
@@ -52,10 +78,18 @@
 		Status status = testDB.getStatus();
 		System.out.println(status.getNumFiles());
 		Query query = new Query();
-		query.setSeqLength(16);
+		query.setSeqLength(1);
 		query.setSeqStart(0);
 		query.setExcludeKeys(new String[]{"KSA_CHARM_27", "KSA_CHARM_300"});
-		Vector<Result> results = testDB.query("KSA_CHARM_336", query);
+
+		Datum datum = new Datum();
+		datum.setData(new double[]{0.0, 2.2, 1.1, 4, 2, 6, 3, 8, 2, 4, 5, 8});
+		datum.setDim(12);
+		datum.setNvectors(1);
+		query.setDatum(datum);
+
+		Vector<Result> results = testDB.query(query);
+
 		System.out.println(results.size());
 		for(Result result: results)
 		{
@@ -65,6 +99,6 @@
 			System.out.println(" "+result.getIpos());
 		}
 
-	}*/
-
+	}
+*/
 }