diff options
author | Sergey Sharybin <sergey@blender.org> | 2020-11-20 19:11:00 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2020-11-23 11:23:19 +0300 |
commit | 401612b8e148c3533f61a170c5189cf3d50e7bc1 (patch) | |
tree | 41682a84ededb3a77bedbf236e0f4aeda01d2383 /source | |
parent | 1e0ff6b723d218dd2ba884edad9d46bc99acf75e (diff) |
Tracking: Cover markers access with basic tests
Just a beginning of tests coverage, related on the planned upcoming
development.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/CMakeLists.txt | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/tracking_test.cc | 64 |
2 files changed, 65 insertions, 0 deletions
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index 40b2d62baac..c89a45b2a43 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -720,6 +720,7 @@ if(WITH_GTESTS) intern/armature_test.cc intern/fcurve_test.cc intern/lattice_deform_test.cc + intern/tracking_test.cc ) set(TEST_INC ../editors/include diff --git a/source/blender/blenkernel/intern/tracking_test.cc b/source/blender/blenkernel/intern/tracking_test.cc new file mode 100644 index 00000000000..6afcf6872eb --- /dev/null +++ b/source/blender/blenkernel/intern/tracking_test.cc @@ -0,0 +1,64 @@ +/* Apache License, Version 2.0 */ + +#include "testing/testing.h" + +#include "DNA_tracking_types.h" + +#include "BKE_tracking.h" + +namespace { + +class TrackingTest : public ::testing::Test { + protected: + MovieTrackingMarker *addMarkerToTrack(MovieTrackingTrack *track, int frame_number) + { + MovieTrackingMarker marker = {{0.0f}}; + marker.framenr = frame_number; + return BKE_tracking_marker_insert(track, &marker); + } +}; + +} // namespace + +TEST_F(TrackingTest, BKE_tracking_marker_get) +{ + MovieTrackingTrack track = {nullptr}; + + addMarkerToTrack(&track, 1); + addMarkerToTrack(&track, 10); + + { + const MovieTrackingMarker *marker = BKE_tracking_marker_get(&track, 1); + EXPECT_NE(marker, nullptr); + EXPECT_EQ(marker->framenr, 1); + } + + { + const MovieTrackingMarker *marker = BKE_tracking_marker_get(&track, 5); + EXPECT_NE(marker, nullptr); + EXPECT_EQ(marker->framenr, 1); + } + + BKE_tracking_track_free(&track); +} + +TEST_F(TrackingTest, BKE_tracking_marker_get_exact) +{ + MovieTrackingTrack track = {nullptr}; + + addMarkerToTrack(&track, 1); + addMarkerToTrack(&track, 10); + + { + const MovieTrackingMarker *marker = BKE_tracking_marker_get_exact(&track, 1); + EXPECT_NE(marker, nullptr); + EXPECT_EQ(marker->framenr, 1); + } + + { + const MovieTrackingMarker *marker = BKE_tracking_marker_get_exact(&track, 5); + EXPECT_EQ(marker, nullptr); + } + + BKE_tracking_track_free(&track); +} |