Mercurial > hg > audiodb
view bindings/java/test/TestQuery.java @ 727:4d9e4ff0a9cd
* Now produces results - a Vector of Result objects
* Handles includeKeys / excludeKeys correctly
author | mas01mj |
---|---|
date | Mon, 26 Jul 2010 14:58:13 +0000 |
parents | fe2282b9bfb0 |
children | d3407d1e2f57 |
line wrap: on
line source
import junit.framework.*; import java.io.File; import java.util.Vector; import org.omras2.*; public class TestQuery extends TestCase { File testDBFile; File testFeatureFile; protected void setUp() { testDBFile = new File("testfiles/test.adb"); testFeatureFile = new File("testfiles/testfeature"); if(testDBFile.exists()) testDBFile.delete(); } public void testQuery() { // 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"}); Vector<Result> results = testDB.query("feat1", query); System.out.println(results.size()); for(Result result: results) { System.out.println(result.getKey()); System.out.println(result.getDistance()); System.out.println(result.getQpos()); System.out.println(result.getIpos()); } } /* public void testAdvanced() { AudioDB testDB = new AudioDB(new File("testfiles/9.adb")); testDB.open(AudioDB.Mode.O_RDONLY); Status status = testDB.getStatus(); System.out.println(status.getNumFiles()); Query query = new Query(); query.setSeqLength(16); query.setSeqStart(0); query.setExcludeKeys(new String[]{"KSA_CHARM_27", "KSA_CHARM_336", "KSA_CHARM_300"}); query.setSeqStart(0); Vector<Result> results = testDB.query("KSA_CHARM_27", query); System.out.println(results.size()); for(Result result: results) { System.out.print(result.getKey()); System.out.print(" "+result.getDistance()); System.out.print(" "+result.getQpos()); System.out.println(" "+result.getIpos()); } }*/ }