annotate libtests/0034/prog1.c @ 494:1327b5cf4cb5 api-inversion

Finish rewriting libtests.
author mas01cr
date Sat, 10 Jan 2009 15:33:16 +0000
parents e072aa1611f5
children c291e9201a3c
rev   line source
mas01cr@487 1 #include "audioDB_API.h"
mas01cr@487 2 #include "test_utils_lib.h"
mas01ik@355 3
mas01cr@494 4 int main(int argc, char **argv) {
mas01cr@494 5 adb_t *adb;
mas01cr@494 6 adb_insert_t insert = {0};
mas01cr@494 7 adb_status_t status = {0};
mas01cr@494 8 adb_insert_t batch[4] = {{0},{0},{0},{0}};
mas01ik@355 9
mas01cr@494 10 clean_remove_db(TESTDB);
mas01cr@494 11 if(!(adb = audiodb_create(TESTDB, 0, 0, 0)))
mas01cr@494 12 return 1;
mas01ik@355 13
mas01cr@494 14 maketestfile("testfeature", (int[1]) {2}, (double[2]) {1, 1}, 2);
mas01cr@494 15 maketestfile("testfeature01", (int[1]) {2}, (double[2]) {0, 1}, 2);
mas01cr@494 16 maketestfile("testfeature10", (int[1]) {2}, (double[2]) {1, 0}, 2);
mas01ik@355 17
mas01cr@494 18 insert.features = "testfeature";
mas01cr@494 19 if(audiodb_insert(adb, &insert))
mas01cr@494 20 return 1;
mas01cr@494 21 if(audiodb_status(adb, &status) || status.numFiles != 1)
mas01cr@494 22 return 1;
mas01cr@494 23
mas01cr@494 24 /* reinserts using audiodb_insert() should silently not fail and
mas01cr@494 25 * silently not insert, to support legacy command-line behaviour. */
mas01cr@494 26 if(audiodb_insert(adb, &insert))
mas01cr@494 27 return 1;
mas01cr@494 28 if(audiodb_status(adb, &status) || status.numFiles != 1)
mas01cr@494 29 return 1;
mas01ik@355 30
mas01cr@494 31 /* reinserts using audiodb_insert_datum() should fail. */
mas01cr@494 32 adb_datum_t datum = {1, 2, "testfeature", (double[2]) {1, 1}};
mas01cr@494 33 if(!audiodb_insert_datum(adb, &datum))
mas01cr@494 34 return 1;
mas01ik@355 35
mas01cr@494 36 insert.features = "testfeature01";
mas01cr@494 37 if(audiodb_insert(adb, &insert))
mas01cr@494 38 return 1;
mas01cr@494 39 if(audiodb_status(adb, &status) || status.numFiles != 2)
mas01cr@494 40 return 1;
mas01ik@355 41
mas01cr@494 42 insert.features = "testfeature10";
mas01cr@494 43 if(audiodb_insert(adb, &insert))
mas01cr@494 44 return 1;
mas01cr@494 45 if(audiodb_status(adb, &status) || status.numFiles != 3)
mas01cr@494 46 return 1;
mas01cr@494 47
mas01cr@494 48 clean_remove_db(TESTDB);
mas01cr@494 49 if(!(adb = audiodb_create(TESTDB, 0, 0, 0)))
mas01cr@494 50 return 1;
mas01ik@355 51
mas01cr@494 52 batch[0].features = "testfeature";
mas01cr@494 53 batch[1].features = "testfeature01";
mas01cr@494 54 batch[2].features = "testfeature10";
mas01cr@494 55 batch[3].features = "testfeature10";
mas01cr@494 56 if(audiodb_batchinsert(adb, batch, 4))
mas01cr@494 57 return 1;
mas01cr@494 58 if(audiodb_status(adb, &status) || status.numFiles != 3)
mas01cr@494 59 return 1;
mas01ik@355 60
mas01cr@494 61 return 104;
mas01ik@355 62 }