Commit 97f6b447 authored by Matteo's avatar Matteo
Browse files

update unit tests

parent c3b747c0
...@@ -5,15 +5,15 @@ SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) ...@@ -5,15 +5,15 @@ SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
SET(CMAKE_CXX_STANDARD 20) SET(CMAKE_CXX_STANDARD 20)
# include(FetchContent) include(FetchContent)
# FetchContent_Declare( FetchContent_Declare(
# googletest googletest
# URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip
# ) )
# # For Windows: Prevent overriding the parent project's compiler/linker settings # For Windows: Prevent overriding the parent project's compiler/linker settings
# SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE) SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
# FetchContent_MakeAvailable(googletest) FetchContent_MakeAvailable(googletest)
LINK_DIRECTORIES(/usr/local/lib) LINK_DIRECTORIES(/usr/local/lib)
...@@ -63,22 +63,23 @@ TARGET_LINK_LIBRARIES(video_analyser ...@@ -63,22 +63,23 @@ TARGET_LINK_LIBRARIES(video_analyser
analyser_lib analyser_lib
) )
# enable_testing() enable_testing()
# ADD_EXECUTABLE( ADD_EXECUTABLE(
# test_suite test_suite
# tests/irregularity_test.cpp tests/irregularity_test.cpp
# tests/enums_test.cpp tests/enums_test.cpp
# ) tests/core_test.cpp
)
# TARGET_LINK_LIBRARIES( TARGET_LINK_LIBRARIES(
# test_suite test_suite
# GTest::gtest_main GTest::gtest_main
# analyser_lib analyser_lib
# ${OpenCV_LIBRARIES} ${OpenCV_LIBRARIES}
# ${Boost_PROGRAM_OPTIONS_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY}
# nlohmann_json::nlohmann_json nlohmann_json::nlohmann_json
# ) )
# include(GoogleTest) include(GoogleTest)
# gtest_discover_tests(test_suite) gtest_discover_tests(test_suite)
...@@ -21,7 +21,7 @@ build: ...@@ -21,7 +21,7 @@ build:
cmake --build build cmake --build build
test: test:
cd build && ctest ./bin/test_suite
clean: clean:
rm -rf build rm -rf build
......
#include "../src/lib/core.hpp"
#include <gtest/gtest.h>
#include <filesystem>
#include <opencv2/core/core.hpp>
using namespace videoanalyser;
using namespace cv;
TEST(Core, Frame) {
core::Frame f = core::Frame(cv::imread("tests/images/test_scene_01.jpg"));
EXPECT_EQ(f.size().width, 720);
EXPECT_EQ(f.size().height, 576);
EXPECT_EQ(f.channels(), 3);
}
TEST(Core, FrameClone) {
core::Frame f = core::Frame(cv::imread("tests/images/test_scene_01.jpg"));
core::Frame f2 = f.clone();
EXPECT_EQ(f.size().width, f2.size().width);
EXPECT_EQ(f.size().height, f2.size().height);
}
TEST(Core, FrameDownsample) {
core::Frame f = core::Frame(cv::imread("tests/images/test_scene_01.jpg"));
core::Frame f2 = f.clone();
f2.downsample(2);
EXPECT_EQ(f.size().width / 2, f2.size().width);
EXPECT_EQ(f.size().height / 2, f2.size().height);
}
TEST(Core, FrameConvertColor) {
core::Frame f = core::Frame(cv::imread("tests/images/test_scene_01.jpg"));
core::Frame f2 = f.clone();
f2.convert_color(cv::COLOR_BGR2GRAY);
EXPECT_EQ(f.size().width, f2.size().width);
EXPECT_EQ(f.size().height, f2.size().height);
EXPECT_EQ(f2.channels(), 1);
}
TEST(Core, FrameCrop) {
core::Frame f = core::Frame(cv::imread("tests/images/test_scene_01.jpg"));
core::Frame f2 = f.clone();
f2.crop(cv::Size(100, 100), cv::Point2f(100, 100));
EXPECT_EQ(f2.size().width, 100);
EXPECT_EQ(f2.size().height, 100);
}
TEST(Core, FrameWarp) {
core::Frame f = core::Frame(cv::imread("tests/images/test_scene_01.jpg"));
core::Frame f2 = f.clone();
cv::Mat rotationMatrix = cv::getRotationMatrix2D(cv::Point2f(f.size().width / 2, f.size().height / 2), 45, 1);
f2.warp(rotationMatrix);
EXPECT_EQ(f2.size().width, f.size().width);
EXPECT_EQ(f2.size().height, f.size().height);
}
TEST(Core, FrameDeinterlace) {
core::Frame f = core::Frame(cv::imread("tests/images/test_scene_01.jpg"));
std::pair<core::Frame, core::Frame> f2 = f.deinterlace();
EXPECT_EQ(f2.first.size().width, f2.second.size().width);
EXPECT_EQ(f2.first.size().height, f2.second.size().height);
EXPECT_EQ(f2.first.size().width, f.size().width);
EXPECT_EQ(f2.first.size().height, f.size().height / 2);
}
#include "../src/lib/enums.h" #include "../src/lib/enums.hpp"
#include <gtest/gtest.h> #include <gtest/gtest.h>
......
#include "../src/lib/Irregularity.h" #include "../src/lib/Irregularity.hpp"
#include <gtest/gtest.h> #include <gtest/gtest.h>
...@@ -6,15 +6,16 @@ ...@@ -6,15 +6,16 @@
#include <boost/uuid/uuid_generators.hpp> #include <boost/uuid/uuid_generators.hpp>
TEST(Irregularity, Init) { TEST(Irregularity, Init) {
Irregularity irreg = Irregularity irreg = Irregularity(Source::Video, "00:00:00.000", IrregularityType::WOW_AND_FLUTTER)
Irregularity(Source::Video, "00:00:00.000", IrregularityType::WOW_AND_FLUTTER, "https://example.com/image.png"); .set_image_URI("https://example.com/image.png");
Irregularity irreg2 = Irregularity irreg2 = Irregularity(Source::Video, "00:00:00.000", IrregularityType::WOW_AND_FLUTTER)
Irregularity(Source::Video, "00:00:00.000", IrregularityType::WOW_AND_FLUTTER, "https://example.com/image.png"); .set_image_URI("https://example.com/image.png");
EXPECT_NE(irreg.id, irreg2.id); EXPECT_NE(irreg.get_id(), irreg2.get_id());
EXPECT_EQ(irreg.source, irreg2.source); EXPECT_EQ(irreg.get_source(), irreg2.get_source());
EXPECT_EQ(irreg.time_label, irreg2.time_label); EXPECT_EQ(irreg.get_time_label(), irreg2.get_time_label());
EXPECT_EQ(irreg.type, irreg2.type); EXPECT_EQ(irreg.get_type(), irreg2.get_type());
EXPECT_EQ(irreg.image_URI, irreg2.image_URI); EXPECT_EQ(irreg.get_image_URI(), irreg2.get_image_URI());
EXPECT_EQ(irreg.get_audio_URI(), irreg2.get_audio_URI());
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment