comparison 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
comparison
equal deleted inserted replaced
728:d3407d1e2f57 729:a9978a6d0bb3
33 query.setSeqLength(1); 33 query.setSeqLength(1);
34 query.setSeqStart(0); 34 query.setSeqStart(0);
35 query.setIncludeKeys(new String[]{"feat1"}); 35 query.setIncludeKeys(new String[]{"feat1"});
36 query.setExcludeKeys(new String[]{"feat2"}); 36 query.setExcludeKeys(new String[]{"feat2"});
37 Vector<Result> results = testDB.query("feat1", query); 37 Vector<Result> results = testDB.query("feat1", query);
38 /* System.out.println(results.size()); 38 }
39 for(Result result: results) 39
40 public void testDataQuery()
41 {
42 // Insert the same feature twice
43 AudioDB testDB = new AudioDB(testDBFile);
44 assertTrue("DB created", testDB.create(1, 2, 1));
45 testDB.open(AudioDB.Mode.O_RDWR);
46 assertTrue("Insert feature file", testDB.insert("feat1", testFeatureFile));
47 assertTrue("Insert feature file again", testDB.insert("feat2", testFeatureFile));
48 testDB.close();
49
50 testDB.open(AudioDB.Mode.O_RDONLY);
51 Status status = testDB.getStatus();
52 assertEquals("Two features", 2, status.getNumFiles());
53
54 Query query = new Query();
55 query.setSeqLength(1);
56 query.setSeqStart(0);
57 query.setIncludeKeys(new String[]{"feat1"});
58 query.setExcludeKeys(new String[]{"feat2"});
59
60 Datum datum = new Datum();
61 datum.setData(new double[]{0.0, 2.2, 1.1});
62 datum.setNvectors(3);
63 datum.setDim(1);
64 query.setDatum(datum);
65
66 Vector<Result> results = testDB.query(query);
67 if(results != null)
40 { 68 {
41 System.out.println(result.getKey()); 69 System.out.println("Here with "+results);
42 System.out.println(result.getDistance()); 70 }
43 System.out.println(result.getQpos());
44 System.out.println(result.getIpos());
45 }*/
46 } 71 }
72
47 /* 73 /*
48 public void testAdvanced() 74 public void testAdvanced()
49 { 75 {
50 AudioDB testDB = new AudioDB(new File("testfiles/9.adb")); 76 AudioDB testDB = new AudioDB(new File("testfiles/9.adb"));
51 testDB.open(AudioDB.Mode.O_RDONLY); 77 testDB.open(AudioDB.Mode.O_RDONLY);
52 Status status = testDB.getStatus(); 78 Status status = testDB.getStatus();
53 System.out.println(status.getNumFiles()); 79 System.out.println(status.getNumFiles());
54 Query query = new Query(); 80 Query query = new Query();
55 query.setSeqLength(16); 81 query.setSeqLength(1);
56 query.setSeqStart(0); 82 query.setSeqStart(0);
57 query.setExcludeKeys(new String[]{"KSA_CHARM_27", "KSA_CHARM_300"}); 83 query.setExcludeKeys(new String[]{"KSA_CHARM_27", "KSA_CHARM_300"});
58 Vector<Result> results = testDB.query("KSA_CHARM_336", query); 84
85 Datum datum = new Datum();
86 datum.setData(new double[]{0.0, 2.2, 1.1, 4, 2, 6, 3, 8, 2, 4, 5, 8});
87 datum.setDim(12);
88 datum.setNvectors(1);
89 query.setDatum(datum);
90
91 Vector<Result> results = testDB.query(query);
92
59 System.out.println(results.size()); 93 System.out.println(results.size());
60 for(Result result: results) 94 for(Result result: results)
61 { 95 {
62 System.out.print(result.getKey()); 96 System.out.print(result.getKey());
63 System.out.print(" "+result.getDistance()); 97 System.out.print(" "+result.getDistance());
64 System.out.print(" "+result.getQpos()); 98 System.out.print(" "+result.getQpos());
65 System.out.println(" "+result.getIpos()); 99 System.out.println(" "+result.getIpos());
66 } 100 }
67 101
68 }*/ 102 }
69 103 */
70 } 104 }