mas01cr@598: #include "audioDB_API.h" mas01cr@598: #include "test_utils_lib.h" mas01cr@598: mas01cr@598: int main(int argc, char **argv) { mas01cr@598: adb_t *adb; mas01cr@598: mas01cr@598: clean_remove_db(TESTDB); mas01cr@598: if(!(adb = audiodb_create(TESTDB, 0, 0, 0))) mas01cr@598: return 1; mas01cr@598: mas01cr@598: adb_datum_t datum1 = {2, 2, "testfeature01", (double[4]) {0, 0.5, 0.5, 0}, mas01cr@598: NULL, (double[4]) {0, 1, 1, 2}}; mas01cr@598: adb_datum_t datum2 = {3, 2, "testfeature10", (double[6]) {0.5, 0, 0, 0.5, 0.5, 0}, mas01cr@598: NULL, (double[6]) {0, 2, 2, 3, 3, 4}}; mas01cr@598: if(audiodb_insert_datum(adb, &datum1)) mas01cr@598: return 1; mas01cr@598: if(audiodb_insert_datum(adb, &datum2)) mas01cr@598: return 1; mas01cr@598: if(audiodb_l2norm(adb)) mas01cr@598: return 1; mas01cr@598: mas01cr@598: adb_datum_t retrieve; mas01cr@598: if(!(audiodb_retrieve_datum(adb, "testfeature", &retrieve))) mas01cr@598: return 1; mas01cr@598: mas01cr@598: if(audiodb_retrieve_datum(adb, "testfeature01", &retrieve)) mas01cr@598: return 1; mas01cr@598: if(retrieve.nvectors != 2) mas01cr@598: return 1; mas01cr@598: if(retrieve.dim != 2) mas01cr@598: return 1; mas01cr@598: if(strcmp(retrieve.key, "testfeature01")) mas01cr@598: return 1; mas01cr@598: if(memcmp(retrieve.data, datum1.data, 4*sizeof(double))) mas01cr@598: return 1; mas01cr@598: if(retrieve.power) mas01cr@598: return 1; mas01cr@598: if(memcmp(retrieve.times, datum1.times, 4*sizeof(double))) mas01cr@598: return 1; mas01cr@598: if(audiodb_free_datum(adb, &retrieve)) mas01cr@598: return 1; mas01cr@598: mas01cr@598: if(audiodb_retrieve_datum(adb, "testfeature10", &retrieve)) mas01cr@598: return 1; mas01cr@598: if(retrieve.nvectors != 3) mas01cr@598: return 1; mas01cr@598: if(retrieve.dim != 2) mas01cr@598: return 1; mas01cr@598: if(strcmp(retrieve.key, "testfeature10")) mas01cr@598: return 1; mas01cr@598: if(memcmp(retrieve.data, datum2.data, 6*sizeof(double))) mas01cr@598: return 1; mas01cr@598: if(retrieve.power) mas01cr@598: return 1; mas01cr@598: if(memcmp(retrieve.times, datum2.times, 6*sizeof(double))) mas01cr@598: return 1; mas01cr@598: if(audiodb_free_datum(adb, &retrieve)) mas01cr@598: return 1; mas01cr@598: mas01cr@598: audiodb_close(adb); mas01cr@598: mas01cr@598: return 104; mas01cr@598: }