summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-01-17 22:25:59 +0100
committerCarl Hetherington <cth@carlh.net>2021-01-17 22:26:33 +0100
commit50033becbec6e0991585f89ed9a38c9d029de61d (patch)
tree01881592593ee8e8aeec3c92c6bbb133d50d06d4 /test
parent7a6d7724348efb76f12e8dfd03ebc2d16120de50 (diff)
Bv2.1 8.5: Features must have FFEC/FFMC markers.
Diffstat (limited to 'test')
-rw-r--r--test/verify_test.cc59
1 files changed, 59 insertions, 0 deletions
diff --git a/test/verify_test.cc b/test/verify_test.cc
index cfc3990c..edb37cfb 100644
--- a/test/verify_test.cc
+++ b/test/verify_test.cc
@@ -48,6 +48,7 @@
#include "reel_closed_caption_asset.h"
#include "reel_stereo_picture_asset.h"
#include "reel_subtitle_asset.h"
+#include "reel_markers_asset.h"
#include "compose.hpp"
#include "test.h"
#include <boost/test/unit_test.hpp>
@@ -1929,3 +1930,61 @@ BOOST_AUTO_TEST_CASE (verify_assets_must_have_hashes)
});
}
+
+
+BOOST_AUTO_TEST_CASE (verify_features_must_have_ffec_ffmc1)
+{
+ boost::filesystem::path const dir("build/test/verify_features_must_have_ffec_ffmc1");
+ auto dcp = make_simple (dir);
+ dcp->cpls()[0]->set_content_kind (dcp::FEATURE);
+ auto markers = make_shared<dcp::ReelMarkersAsset>(dcp::Fraction(24, 1), 0);
+ markers->set (dcp::Marker::FFEC, dcp::Time(0, 0, 4, 0, 24));
+ markers->set (dcp::Marker::FFMC, dcp::Time(0, 0, 5, 0, 24));
+ dcp->cpls()[0]->reels()[0]->add(markers);
+ dcp->write_xml (dcp::SMPTE);
+ check_verify_result ({dir}, {});
+}
+
+
+BOOST_AUTO_TEST_CASE (verify_features_must_have_ffec_ffmc2)
+{
+ boost::filesystem::path const dir("build/test/verify_features_must_have_ffec_ffmc2");
+ auto dcp = make_simple (dir);
+ dcp->cpls()[0]->set_content_kind (dcp::FEATURE);
+ auto markers = make_shared<dcp::ReelMarkersAsset>(dcp::Fraction(24, 1), 0);
+ markers->set (dcp::Marker::FFEC, dcp::Time(0, 0, 4, 0, 24));
+ dcp->cpls()[0]->reels()[0]->add(markers);
+ dcp->write_xml (dcp::SMPTE);
+ check_verify_result ({dir}, {{dcp::VerificationNote::VERIFY_BV21_ERROR, dcp::VerificationNote::MISSING_FFMC_IN_FEATURE}});
+}
+
+
+BOOST_AUTO_TEST_CASE (verify_features_must_have_ffec_ffmc3)
+{
+ boost::filesystem::path const dir("build/test/verify_features_must_have_ffec_ffmc3");
+ auto dcp = make_simple (dir);
+ dcp->cpls()[0]->set_content_kind (dcp::FEATURE);
+ auto markers = make_shared<dcp::ReelMarkersAsset>(dcp::Fraction(24, 1), 0);
+ markers->set (dcp::Marker::FFMC, dcp::Time(0, 0, 4, 0, 24));
+ dcp->cpls()[0]->reels()[0]->add(markers);
+ dcp->write_xml (dcp::SMPTE);
+ check_verify_result ({dir}, {{dcp::VerificationNote::VERIFY_BV21_ERROR, dcp::VerificationNote::MISSING_FFEC_IN_FEATURE}});
+}
+
+
+BOOST_AUTO_TEST_CASE (verify_features_must_have_ffec_ffmc4)
+{
+ boost::filesystem::path const dir("build/test/verify_features_must_have_ffec_ffmc4");
+ auto dcp = make_simple (dir);
+ dcp->cpls()[0]->set_content_kind (dcp::FEATURE);
+ auto markers = make_shared<dcp::ReelMarkersAsset>(dcp::Fraction(24, 1), 0);
+ dcp->cpls()[0]->reels()[0]->add(markers);
+ dcp->write_xml (dcp::SMPTE);
+ check_verify_result (
+ {dir},
+ {
+ { dcp::VerificationNote::VERIFY_BV21_ERROR, dcp::VerificationNote::MISSING_FFEC_IN_FEATURE },
+ { dcp::VerificationNote::VERIFY_BV21_ERROR, dcp::VerificationNote::MISSING_FFMC_IN_FEATURE }
+ });
+}
+