mas01mj@725: import junit.framework.*; mas01mj@725: import java.io.File; mas01mj@727: import java.util.Vector; mas01mj@725: import org.omras2.*; mas01mj@725: mas01mj@725: public class TestQuery extends TestCase mas01mj@725: { mas01mj@725: File testDBFile; mas01mj@725: File testFeatureFile; mas01mj@725: protected void setUp() mas01mj@725: { mas01mj@725: testDBFile = new File("testfiles/test.adb"); mas01mj@725: testFeatureFile = new File("testfiles/testfeature"); mas01mj@725: if(testDBFile.exists()) mas01mj@725: testDBFile.delete(); mas01mj@725: } mas01mj@725: mas01mj@725: public void testQuery() mas01mj@725: { mas01mj@725: // Insert the same feature twice mas01mj@725: AudioDB testDB = new AudioDB(testDBFile); mas01mj@725: assertTrue("DB created", testDB.create(1, 2, 1)); mas01mj@725: testDB.open(AudioDB.Mode.O_RDWR); mas01mj@725: assertTrue("Insert feature file", testDB.insert("feat1", testFeatureFile)); mas01mj@725: assertTrue("Insert feature file again", testDB.insert("feat2", testFeatureFile)); mas01mj@725: testDB.close(); mas01mj@725: mas01mj@725: testDB.open(AudioDB.Mode.O_RDONLY); mas01mj@725: Status status = testDB.getStatus(); mas01mj@725: assertEquals("Two features", 2, status.getNumFiles()); mas01mj@726: mas01mj@726: Query query = new Query(); mas01mj@726: query.setSeqLength(1); mas01mj@726: query.setSeqStart(0); mas01mj@727: query.setIncludeKeys(new String[]{"feat1"}); mas01mj@727: query.setExcludeKeys(new String[]{"feat2"}); mas01mj@727: Vector results = testDB.query("feat1", query); mas01mj@728: /* System.out.println(results.size()); mas01mj@727: for(Result result: results) mas01mj@727: { mas01mj@727: System.out.println(result.getKey()); mas01mj@727: System.out.println(result.getDistance()); mas01mj@727: System.out.println(result.getQpos()); mas01mj@727: System.out.println(result.getIpos()); mas01mj@728: }*/ mas01mj@725: } mas01mj@727: /* mas01mj@727: public void testAdvanced() mas01mj@727: { mas01mj@727: AudioDB testDB = new AudioDB(new File("testfiles/9.adb")); mas01mj@727: testDB.open(AudioDB.Mode.O_RDONLY); mas01mj@727: Status status = testDB.getStatus(); mas01mj@727: System.out.println(status.getNumFiles()); mas01mj@727: Query query = new Query(); mas01mj@727: query.setSeqLength(16); mas01mj@727: query.setSeqStart(0); mas01mj@728: query.setExcludeKeys(new String[]{"KSA_CHARM_27", "KSA_CHARM_300"}); mas01mj@728: Vector results = testDB.query("KSA_CHARM_336", query); mas01mj@727: System.out.println(results.size()); mas01mj@727: for(Result result: results) mas01mj@727: { mas01mj@727: System.out.print(result.getKey()); mas01mj@727: System.out.print(" "+result.getDistance()); mas01mj@727: System.out.print(" "+result.getQpos()); mas01mj@727: System.out.println(" "+result.getIpos()); mas01mj@727: } mas01mj@727: mas01mj@727: }*/ mas01mj@725: mas01mj@725: }