1 #include <gtest/gtest.h>
2 #include <time.h>
3 
4 #include <flann/flann.h>
5 #include <flann/io/hdf5.h>
6 
7 #include "flann_tests.h"
8 
9 using namespace flann;
10 
11 /**
12  * Test fixture for SIFT 10K dataset
13  */
14 class Linear_SIFT10K : public DatasetTestFixture<float, float> {
15 protected:
Linear_SIFT10K()16 	Linear_SIFT10K() : DatasetTestFixture("sift10K.h5") {}
17 };
18 
19 
TEST_F(Linear_SIFT10K,TestSearch)20 TEST_F(Linear_SIFT10K, TestSearch)
21 {
22 	TestSearch<flann::L2<float> >(data, flann::LinearIndexParams(),
23 			query, indices, dists, knn, flann::SearchParams(0), 1.0, gt_indices);
24 }
25 
TEST_F(Linear_SIFT10K,TestSearch2)26 TEST_F(Linear_SIFT10K, TestSearch2)
27 {
28 	TestSearch2<flann::L2<float> >(data, flann::LinearIndexParams(),
29 			query, indices, dists, knn, flann::SearchParams(0), 1.0, gt_indices);
30 }
31 
TEST_F(Linear_SIFT10K,TestRemove)32 TEST_F(Linear_SIFT10K, TestRemove)
33 {
34 	TestRemove<flann::L2<float> >(data, flann::LinearIndexParams(),
35 			query, indices, dists, knn, flann::SearchParams(0));
36 }
37 
38 
TEST_F(Linear_SIFT10K,TestSave)39 TEST_F(Linear_SIFT10K, TestSave)
40 {
41 	TestSave<flann::L2<float> >(data, flann::LinearIndexParams(),
42 			query, indices, dists, knn, flann::SearchParams(0), 1.0, gt_indices);
43 }
44 
TEST_F(Linear_SIFT10K,TestCopy)45 TEST_F(Linear_SIFT10K, TestCopy)
46 {
47 	TestCopy<flann::L2<float> >(data, flann::LinearIndexParams(),
48 			query, indices, dists, knn, flann::SearchParams(0), 1.0, gt_indices);
49 }
50 
51 
TEST_F(Linear_SIFT10K,TestCopy2)52 TEST_F(Linear_SIFT10K, TestCopy2)
53 {
54 	TestCopy<flann::L2<float> >(data, flann::LinearIndexParams(),
55 			query, indices, dists, knn, flann::SearchParams(0), 1.0, gt_indices);
56 }
57 
58 
59 /**
60  * Test fixture for SIFT 100K dataset
61  */
62 class Linear_SIFT100K :  public DatasetTestFixture<float, float> {
63 protected:
Linear_SIFT100K()64 	Linear_SIFT100K() : DatasetTestFixture("sift100K.h5") {}
65 };
66 
67 
TEST_F(Linear_SIFT100K,TestSearch)68 TEST_F(Linear_SIFT100K, TestSearch)
69 {
70 	TestSearch<flann::L2<float> >(data, flann::LinearIndexParams(),
71 			query, indices, dists, knn, flann::SearchParams(0), 1.0, gt_indices);
72 }
73 
74 
75 /**
76  * Test fixture for SIFT 10K dataset with byte feature elements
77  */
78 class Linear_SIFT10K_byte : public DatasetTestFixture<unsigned char, float> {
79 protected:
Linear_SIFT10K_byte()80 	Linear_SIFT10K_byte() : DatasetTestFixture("sift10K_byte.h5") {}
81 };
82 
83 
84 
TEST_F(Linear_SIFT10K_byte,Linear)85 TEST_F(Linear_SIFT10K_byte, Linear)
86 {
87 	TestSearch<flann::L2<unsigned char> >(data, flann::LinearIndexParams(),
88 			query, indices, dists, knn, flann::SearchParams(0), 1.0, gt_indices);
89 }
90 
91 
92 
93 
94 class Linear_SIFT100K_byte : public DatasetTestFixture<unsigned char, float> {
95 protected:
Linear_SIFT100K_byte()96 	Linear_SIFT100K_byte() : DatasetTestFixture("sift100K_byte.h5") {}
97 };
98 
99 
100 
TEST_F(Linear_SIFT100K_byte,TestSearch)101 TEST_F(Linear_SIFT100K_byte, TestSearch)
102 {
103 	TestSearch<flann::L2<unsigned char> >(data, flann::LinearIndexParams(),
104 			query, indices, dists, knn, flann::SearchParams(0), 1.0, gt_indices);
105 }
106 
107 
108 
main(int argc,char ** argv)109 int main(int argc, char** argv)
110 {
111     testing::InitGoogleTest(&argc, argv);
112     return RUN_ALL_TESTS();
113 }
114