diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b79fda6..4056072 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,6 +1,6 @@ ADD_EXECUTABLE(test_database test_database.cpp) TARGET_LINK_LIBRARIES(test_database lensfun ${COMMON_LIBS}) -ADD_TEST(Database test_database) +ADD_TEST(NAME Database WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND test_database) ADD_EXECUTABLE(test_modifier test_modifier.cpp) TARGET_LINK_LIBRARIES(test_modifier lensfun ${COMMON_LIBS}) @@ -30,4 +30,4 @@ TARGET_LINK_LIBRARIES(test_modifier_coord_geometry lensfun ${COMMON_LIBS}) ADD_TEST(Modifier_coord_geometry test_modifier_coord_geometry) FIND_PACKAGE(PythonInterp REQUIRED) -ADD_TEST(NAME Database_integrity COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tools/check_database/check_database.py ../../data/db) +ADD_TEST(NAME Database_integrity COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tools/check_database/check_database.py ${CMAKE_SOURCE_DIR}/data/db) diff --git a/tests/CMakeLists.txt.0058 b/tests/CMakeLists.txt.0058 new file mode 100644 index 0000000..b79fda6 --- /dev/null +++ b/tests/CMakeLists.txt.0058 @@ -0,0 +1,33 @@ +ADD_EXECUTABLE(test_database test_database.cpp) +TARGET_LINK_LIBRARIES(test_database lensfun ${COMMON_LIBS}) +ADD_TEST(Database test_database) + +ADD_EXECUTABLE(test_modifier test_modifier.cpp) +TARGET_LINK_LIBRARIES(test_modifier lensfun ${COMMON_LIBS}) +ADD_TEST(Modifier test_modifier) + +find_package(OpenMP) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") + +ADD_EXECUTABLE(test_modifier_color test_modifier_color.cpp) +TARGET_LINK_LIBRARIES(test_modifier_color lensfun ${COMMON_LIBS}) +ADD_TEST(Modifier_color test_modifier_color) + +ADD_EXECUTABLE(test_modifier_subpix test_modifier_subpix.cpp) +TARGET_LINK_LIBRARIES(test_modifier_subpix lensfun ${COMMON_LIBS}) +ADD_TEST(Modifier_subpix test_modifier_subpix) + +ADD_EXECUTABLE(test_modifier_coord_scale test_modifier_coord_scale.cpp) +TARGET_LINK_LIBRARIES(test_modifier_coord_scale lensfun ${COMMON_LIBS}) +ADD_TEST(Modifier_coord_scale test_modifier_coord_scale) + +ADD_EXECUTABLE(test_modifier_coord_distortion test_modifier_coord_distortion.cpp) +TARGET_LINK_LIBRARIES(test_modifier_coord_distortion lensfun ${COMMON_LIBS}) +ADD_TEST(Modifier_coord_distortion test_modifier_coord_distortion) + +ADD_EXECUTABLE(test_modifier_coord_geometry test_modifier_coord_geometry.cpp) +TARGET_LINK_LIBRARIES(test_modifier_coord_geometry lensfun ${COMMON_LIBS}) +ADD_TEST(Modifier_coord_geometry test_modifier_coord_geometry) + +FIND_PACKAGE(PythonInterp REQUIRED) +ADD_TEST(NAME Database_integrity COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tools/check_database/check_database.py ../../data/db) diff --git a/tests/test_database.cpp b/tests/test_database.cpp index 45dc38f..49a2644 100644 --- a/tests/test_database.cpp +++ b/tests/test_database.cpp @@ -10,7 +10,7 @@ typedef struct { void db_setup(lfFixture *lfFix, gconstpointer data) { lfFix->db = new lfDatabase (); - lfFix->db->Load(); + lfFix->db->LoadDirectory("data/db"); } diff --git a/tests/test_database.cpp.0058 b/tests/test_database.cpp.0058 new file mode 100644 index 0000000..45dc38f --- /dev/null +++ b/tests/test_database.cpp.0058 @@ -0,0 +1,87 @@ +#include +#include +#include "lensfun.h" + +typedef struct { + lfDatabase* db; +} lfFixture; + + +void db_setup(lfFixture *lfFix, gconstpointer data) +{ + lfFix->db = new lfDatabase (); + lfFix->db->Load(); +} + + +void db_teardown(lfFixture *lfFix, gconstpointer data) +{ + delete lfFix->db; +} + + +// test different lens search strings +void test_DB_lens_search(lfFixture* lfFix, gconstpointer data) +{ + const lfLens **lenses = NULL; + + lenses = lfFix->db->FindLenses (NULL, NULL, "pEntax 50-200 ED"); + g_assert_nonnull(lenses); + g_assert_cmpstr(lenses[0]->Model, ==, "smc Pentax-DA 50-200mm f/4-5.6 DA ED"); + lf_free (lenses); + + lenses = lfFix->db->FindLenses (NULL, NULL, "smc Pentax-DA 50-200mm f/4-5.6 DA ED"); + g_assert_nonnull(lenses); + g_assert_cmpstr(lenses[0]->Model, ==, "smc Pentax-DA 50-200mm f/4-5.6 DA ED"); + lf_free (lenses); + + lenses = lfFix->db->FindLenses (NULL, NULL, "PENTAX fa 28mm 2.8"); + g_assert_nonnull(lenses); + g_assert_cmpstr(lenses[0]->Model, ==, "smc Pentax-FA 28mm f/2.8 AL"); + lf_free (lenses); + + /*lenses = lfFix->db->FindLenses (NULL, NULL, "Fotasy M3517 35mm f/1.7"); + g_assert_nonnull(lenses); + g_assert_cmpstr(lenses[0]->Model, ==, "Fotasy M3517 35mm f/1.7"); + lf_free (lenses); + + lenses = lfFix->db->FindLenses (NULL, NULL, "Minolta MD 35mm 1/2.8"); + g_assert_nonnull(lenses); + g_assert_cmpstr(lenses[0]->Model, ==, "Minolta MD 35mm 1/2.8"); + lf_free (lenses);*/ +} + +// test different camera search strings +void test_DB_cam_search(lfFixture* lfFix, gconstpointer data) +{ + const lfCamera **cameras = NULL; + + cameras = lfFix->db->FindCamerasExt("pentax", "K100D"); + g_assert_nonnull(cameras); + g_assert_cmpstr(cameras[0]->Model, ==, "Pentax K100D"); + lf_free (cameras); + + cameras = lfFix->db->FindCamerasExt(NULL, "K 100 D"); + g_assert_nonnull(cameras); + g_assert_cmpstr(cameras[0]->Model, ==, "Pentax K100D"); + lf_free (cameras); + + cameras = lfFix->db->FindCamerasExt(NULL, "PentAX K100 D"); + g_assert_nonnull(cameras); + g_assert_cmpstr(cameras[0]->Model, ==, "Pentax K100D"); + lf_free (cameras); + +} + +int main (int argc, char **argv) +{ + + setlocale (LC_ALL, ""); + + g_test_init(&argc, &argv, NULL); + + g_test_add("/database/lens search", lfFixture, NULL, db_setup, test_DB_lens_search, db_teardown); + g_test_add("/database/camera search", lfFixture, NULL, db_setup, test_DB_cam_search, db_teardown); + + return g_test_run(); +}