1 #include <glib.h>
2 #include <locale.h>
3 #include "lensfun.h"
4
5 typedef struct {
6 lfDatabase* db;
7 } lfFixture;
8
9
db_setup(lfFixture * lfFix,gconstpointer data)10 void db_setup(lfFixture *lfFix, gconstpointer data)
11 {
12 lfFix->db = new lfDatabase ();
13 lfFix->db->LoadDirectory("data/db");
14 }
15
16
db_teardown(lfFixture * lfFix,gconstpointer data)17 void db_teardown(lfFixture *lfFix, gconstpointer data)
18 {
19 delete lfFix->db;
20 }
21
22
23 // test different lens search strings
test_DB_lens_search(lfFixture * lfFix,gconstpointer data)24 void test_DB_lens_search(lfFixture* lfFix, gconstpointer data)
25 {
26 const lfLens **lenses = NULL;
27
28 lenses = lfFix->db->FindLenses (NULL, NULL, "pEntax 50-200 ED");
29 g_assert_nonnull(lenses);
30 g_assert_cmpstr(lenses[0]->Model, ==, "smc Pentax-DA 50-200mm f/4-5.6 DA ED");
31 lf_free (lenses);
32
33 lenses = lfFix->db->FindLenses (NULL, NULL, "smc Pentax-DA 50-200mm f/4-5.6 DA ED");
34 g_assert_nonnull(lenses);
35 g_assert_cmpstr(lenses[0]->Model, ==, "smc Pentax-DA 50-200mm f/4-5.6 DA ED");
36 lf_free (lenses);
37
38 lenses = lfFix->db->FindLenses (NULL, NULL, "PENTAX fa 28mm 2.8");
39 g_assert_nonnull(lenses);
40 g_assert_cmpstr(lenses[0]->Model, ==, "smc Pentax-FA 28mm f/2.8 AL");
41 lf_free (lenses);
42
43 /*lenses = lfFix->db->FindLenses (NULL, NULL, "Fotasy M3517 35mm f/1.7");
44 g_assert_nonnull(lenses);
45 g_assert_cmpstr(lenses[0]->Model, ==, "Fotasy M3517 35mm f/1.7");
46 lf_free (lenses);
47
48 lenses = lfFix->db->FindLenses (NULL, NULL, "Minolta MD 35mm 1/2.8");
49 g_assert_nonnull(lenses);
50 g_assert_cmpstr(lenses[0]->Model, ==, "Minolta MD 35mm 1/2.8");
51 lf_free (lenses);*/
52 }
53
54 // test different camera search strings
test_DB_cam_search(lfFixture * lfFix,gconstpointer data)55 void test_DB_cam_search(lfFixture* lfFix, gconstpointer data)
56 {
57 const lfCamera **cameras = NULL;
58
59 cameras = lfFix->db->FindCamerasExt("pentax", "K100D");
60 g_assert_nonnull(cameras);
61 g_assert_cmpstr(cameras[0]->Model, ==, "Pentax K100D");
62 lf_free (cameras);
63
64 cameras = lfFix->db->FindCamerasExt(NULL, "K 100 D");
65 g_assert_nonnull(cameras);
66 g_assert_cmpstr(cameras[0]->Model, ==, "Pentax K100D");
67 lf_free (cameras);
68
69 cameras = lfFix->db->FindCamerasExt(NULL, "PentAX K100 D");
70 g_assert_nonnull(cameras);
71 g_assert_cmpstr(cameras[0]->Model, ==, "Pentax K100D");
72 lf_free (cameras);
73
74 }
75
main(int argc,char ** argv)76 int main (int argc, char **argv)
77 {
78
79 setlocale (LC_ALL, "");
80
81 g_test_init(&argc, &argv, NULL);
82
83 g_test_add("/database/lens search", lfFixture, NULL, db_setup, test_DB_lens_search, db_teardown);
84 g_test_add("/database/camera search", lfFixture, NULL, db_setup, test_DB_cam_search, db_teardown);
85
86 return g_test_run();
87 }
88