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