Cleanup: replace some list with vector.
[dcpomatic.git] / test / kdm_naming_test.cc
index f53f4aba2102d1987a324400884c628883ac6aef..32500553e90e48065c6786064eaa94f5cf628e94 100644 (file)
@@ -60,7 +60,7 @@ BOOST_AUTO_TEST_CASE (single_kdm_naming_test)
        auto crypt_cert = c->decryption_chain()->leaf();
 
        /* Cinema A: UTC +4:30 */
-       auto cinema_a = make_shared<Cinema>("Cinema A", list<string>(), "", 4, 30);
+       auto cinema_a = make_shared<Cinema>("Cinema A", vector<string>(), "", 4, 30);
        cinema_a_screen_1 = std::make_shared<dcpomatic::Screen>("Screen 1", "", crypt_cert, boost::none, vector<TrustedDevice>());
        cinema_a->add_screen (cinema_a_screen_1);
        cinema_a_screen_2 = std::make_shared<dcpomatic::Screen>("Screen 2", "", crypt_cert, boost::none, vector<TrustedDevice>());
@@ -68,7 +68,7 @@ BOOST_AUTO_TEST_CASE (single_kdm_naming_test)
        c->add_cinema (cinema_a);
 
        /* Cinema B: UTC -1:00 */
-       auto cinema_b = make_shared<Cinema>("Cinema B", list<string>(), "", -1, 0);
+       auto cinema_b = make_shared<Cinema>("Cinema B", vector<string>(), "", -1, 0);
        cinema_b_screen_x = std::make_shared<dcpomatic::Screen>("Screen X", "", crypt_cert, boost::none, vector<TrustedDevice>());
        cinema_b->add_screen (cinema_b_screen_x);
        cinema_b_screen_y = std::make_shared<dcpomatic::Screen>("Screen Y", "", crypt_cert, boost::none, vector<TrustedDevice>());
@@ -81,7 +81,7 @@ BOOST_AUTO_TEST_CASE (single_kdm_naming_test)
        boost::filesystem::remove_all ("build/test/single_kdm_naming_test");
        auto film = new_test_film2 ("single_kdm_naming_test");
        film->set_name ("my_great_film");
-       film->examine_and_add_content (content_factory("test/data/flat_black.png").front());
+       film->examine_and_add_content (content_factory("test/data/flat_black.png")[0]);
        BOOST_REQUIRE (!wait_for_jobs());
        film->set_encrypted (true);
        make_and_verify_dcp (film);
@@ -98,16 +98,21 @@ BOOST_AUTO_TEST_CASE (single_kdm_naming_test)
        auto const from_string = from.date() + " " + from.time_of_day(true, false);
        auto const until_string = until.date() + " " + until.time_of_day(true, false);
 
+       std::vector<KDMCertificatePeriod> period_checks;
+
        auto cpl = cpls.front().cpl_file;
+       std::function<dcp::DecryptedKDM (dcp::LocalTime, dcp::LocalTime)> make_kdm = [film, cpl](dcp::LocalTime begin, dcp::LocalTime end) {
+               return film->make_kdm(cpl, begin, end);
+       };
        auto kdm = kdm_for_screen (
-                       film,
-                       cpls.front().cpl_file,
+                       make_kdm,
                        cinema_a_screen_1,
                        boost::posix_time::time_from_string(from_string),
                        boost::posix_time::time_from_string(until_string),
                        dcp::Formulation::MODIFIED_TRANSITIONAL_1,
                        false,
-                       optional<int>()
+                       optional<int>(),
+                       period_checks
                        );
 
        write_files (
@@ -136,7 +141,7 @@ BOOST_AUTO_TEST_CASE (directory_kdm_naming_test, * boost::unit_test::depends_on(
        boost::filesystem::remove_all ("build/test/directory_kdm_naming_test");
        auto film = new_test_film2 (
                "directory_kdm_naming_test",
-               { content_factory("test/data/flat_black.png").front() }
+               { content_factory("test/data/flat_black.png")[0] }
                );
 
        film->set_name ("my_great_film");
@@ -155,24 +160,30 @@ BOOST_AUTO_TEST_CASE (directory_kdm_naming_test, * boost::unit_test::depends_on(
        string const from_string = from.date() + " " + from.time_of_day(true, false);
        string const until_string = until.date() + " " + until.time_of_day(true, false);
 
-       list<shared_ptr<dcpomatic::Screen>> screens = {
+       vector<shared_ptr<dcpomatic::Screen>> screens = {
                cinema_a_screen_2, cinema_b_screen_x, cinema_a_screen_1, (cinema_b_screen_z)
        };
 
        auto const cpl = cpls.front().cpl_file;
        auto const cpl_id = cpls.front().cpl_id;
 
+       std::vector<KDMCertificatePeriod> period_checks;
        list<KDMWithMetadataPtr> kdms;
+
+       std::function<dcp::DecryptedKDM (dcp::LocalTime, dcp::LocalTime)> make_kdm = [film, cpls](dcp::LocalTime begin, dcp::LocalTime end) {
+               return film->make_kdm(cpls.front().cpl_file, begin, end);
+       };
+
        for (auto i: screens) {
                auto kdm = kdm_for_screen (
-                               film,
-                               cpls.front().cpl_file,
+                               make_kdm,
                                i,
                                boost::posix_time::time_from_string(from_string),
                                boost::posix_time::time_from_string(until_string),
                                dcp::Formulation::MODIFIED_TRANSITIONAL_1,
                                false,
-                               optional<int>()
+                               optional<int>(),
+                               period_checks
                                );
 
                kdms.push_back (kdm);