comparison libtests/0025/prog1.c @ 492:f6b126b018d8 api-inversion

Yet more audiodb_query() deletions. Also delete the libtests/notes file, with its misleading and wrong questions, to avoid further confusion.
author mas01cr
date Sat, 10 Jan 2009 15:33:07 +0000
parents f4dc8e47ee37
children 9d8aee621afb
comparison
equal deleted inserted replaced
491:29d28cfe0222 492:f6b126b018d8
1 #include "audioDB_API.h" 1 #include "audioDB_API.h"
2 #include "test_utils_lib.h" 2 #include "test_utils_lib.h"
3 3
4 void maketimesfile(char * filename); 4 int main(int argc, char **argv) {
5 adb_t *adb;
5 6
6 int main(int argc, char **argv){ 7 clean_remove_db(TESTDB);
8 if(!(adb = audiodb_create(TESTDB, 0, 0, 0)))
9 return 1;
7 10
8 int returnval=0; 11 adb_datum_t datum = {2, 2, "testfeature", (double[4]) {0, 0.5, 0.5, 0},
9 adb_ptr mydbp={0}; 12 NULL, (double[4]) {0, 1, 1, 2}};
10 int ivals[10]; 13 if(audiodb_insert_datum(adb, &datum))
11 double dvals[10]; 14 return 1;
12 adb_insert_t myinsert={0}; 15 if(audiodb_l2norm(adb))
13 char * databasename="testdb"; 16 return 1;
14 adb_query_t myadbquery={0};
15 adb_queryresult_t myadbqueryresult={0};
16 int size=0;
17 17
18 /* remove old directory */ 18 adb_datum_t query = {1, 2, "testquery", (double[2]) {0, 0.5}};
19 //if [ -f testdb ]; then rm -f testdb; fi 19 adb_query_id_t qid = {0};
20 clean_remove_db(databasename); 20 qid.datum = &query;
21 qid.sequence_length = 1;
22 qid.sequence_start = 0;
23 adb_query_parameters_t parms =
24 {ADB_ACCUMULATION_PER_TRACK, ADB_DISTANCE_EUCLIDEAN_NORMED, 10, 10};
25 adb_query_refine_t refine = {0};
26 refine.hopsize = 1;
21 27
22 /* create new db */ 28 adb_query_spec_t spec;
23 //${AUDIODB} -d testdb -N 29 spec.qid = qid;
24 mydbp=audiodb_create(databasename,0,0,0); 30 spec.params = parms;
31 spec.refine = refine;
25 32
26 //intstring 2 > testfeature 33 adb_query_results_t *results = audiodb_query_spec(adb, &spec);
27 //floatstring 0 0.5 >> testfeature 34 if(!results || results->nresults != 2) return 1;
28 //floatstring 0.5 0 >> testfeature 35 result_present_or_fail(results, "testfeature", 0, 0, 0);
29 ivals[0]=2; 36 result_present_or_fail(results, "testfeature", 2, 0, 1);
30 dvals[0]=0; dvals[1]=0.5; dvals[2]=0.5; dvals[3]=0; 37 audiodb_query_free_results(adb, &spec, results);
31 maketestfile("testfeature",ivals,dvals,4);
32 38
39 spec.params.npoints = 1;
40 results = audiodb_query_spec(adb, &spec);
41 if(!results || results->nresults != 1) return 1;
42 result_present_or_fail(results, "testfeature", 0, 0, 0);
43 audiodb_query_free_results(adb, &spec, results);
33 44
34 //cat > testtimes <<EOF 45 spec.qid.datum->data = (double[2]) {0.5, 0};
35 //0 46 spec.params.npoints = 10;
36 //1 47 results = audiodb_query_spec(adb, &spec);
37 //2 48 if(!results || results->nresults != 2) return 1;
38 //EOF 49 result_present_or_fail(results, "testfeature", 0, 0, 1);
39 maketimesfile("testtimes"); 50 result_present_or_fail(results, "testfeature", 2, 0, 0);
51 audiodb_query_free_results(adb, &spec, results);
52
53 spec.params.npoints = 1;
54 results = audiodb_query_spec(adb, &spec);
55 if(!results || results->nresults != 1) return 1;
56 result_present_or_fail(results, "testfeature", 0, 0, 1);
57 audiodb_query_free_results(adb, &spec, results);
40 58
41 //${AUDIODB} -d testdb -I -f testfeature -t testtimes 59 return 104;
42 myinsert.features="testfeature";
43 if(audiodb_insert(mydbp,&myinsert)){
44 returnval=-1;
45 };
46
47 //# sequence queries require L2NORM
48 //${AUDIODB} -d testdb -L
49 if(audiodb_l2norm(mydbp)){
50 returnval=-1;
51 };
52
53 //echo "query point (0.0,0.5)"
54 //intstring 2 > testquery
55 //floatstring 0 0.5 >> testquery
56 ivals[0]=2;
57 dvals[0]=0; dvals[1]=0.5;
58 maketestfile("testquery",ivals,dvals,2);
59
60 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery > testoutput
61 //echo testfeature 1 0 0 > test-expected-output
62 //cmp testoutput test-expected-output
63 myadbquery.querytype="sequence";
64 myadbquery.feature="testquery";
65 myadbquery.sequencelength="1";
66 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
67 size=myadbqueryresult.sizeRlist;
68
69 ///* check the test values */
70 if (size != 1) {returnval = -1;};
71 if (testoneresult(&myadbqueryresult,0,"testfeature",1,0,0)) {returnval = -1;};
72
73
74 ////${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -n 1 > testoutput
75 ////echo testfeature 0 0 0 > test-expected-output
76 ////cmp testoutput test-expected-output
77 myadbquery.querytype="sequence";
78 myadbquery.feature="testquery";
79 myadbquery.sequencelength="1";
80 myadbquery.numpoints="1";
81 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
82 size=myadbqueryresult.sizeRlist;
83
84 ///* check the test values */
85 if (size != 1) {returnval = -1;};
86 if (testoneresult(&myadbqueryresult,0,"testfeature",0,0,0)) {returnval = -1;};
87
88 ////echo "query point (0.5,0.0)"
89 ////intstring 2 > testquery
90 ////floatstring 0.5 0 >> testquery
91 ivals[0]=2;
92 dvals[0]=0.5; dvals[1]=0.0;
93 maketestfile("testquery",ivals,dvals,2);
94
95 ////${AUDIODB} -d testdb -Q sequence -l 1 -f testquery > testoutput
96 ////echo testfeature 1 0 1 > test-expected-output
97 ////cmp testoutput test-expected-output
98 myadbquery.querytype="sequence";
99 myadbquery.feature="testquery";
100 myadbquery.sequencelength="1";
101 myadbquery.numpoints=NULL;
102 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
103 size=myadbqueryresult.sizeRlist;
104
105 ///* check the test values */
106 if (size != 1) {returnval = -1;};
107 if (testoneresult(&myadbqueryresult,0,"testfeature",1,0,1)) {returnval = -1;};
108
109
110 ////${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -n 1 > testoutput
111 ////echo testfeature 0 0 1 > test-expected-output
112 ////cmp testoutput test-expected-output
113 myadbquery.querytype="sequence";
114 myadbquery.feature="testquery";
115 myadbquery.sequencelength="1";
116 myadbquery.numpoints="1";
117 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
118 size=myadbqueryresult.sizeRlist;
119
120 ///* check the test values */
121 if (size != 1) {returnval = -1;};
122 if (testoneresult(&myadbqueryresult,0,"testfeature",0,0,1)) {returnval = -1;};
123
124
125
126 //printf("returnval:%d\n",returnval);
127 return(returnval);
128 } 60 }
129
130 void maketimesfile(char * filename){
131
132 FILE * myfile;
133
134 myfile=fopen(filename,"w");
135 fprintf(myfile,"0\n");
136 fprintf(myfile,"1\n");
137 fprintf(myfile,"2\n");
138 fflush(myfile);
139 fclose(myfile);
140
141 }