-BOOST_AUTO_TEST_CASE (film_metadata_test)
-{
- dvdomatic_setup ();
-
- string const test_film = "build/test/film";
-
- if (boost::filesystem::exists (test_film)) {
- boost::filesystem::remove_all (test_film);
- }
-
- BOOST_CHECK_THROW (new Film ("build/test/film", true), OpenFileError);
-
- Film f (test_film, false);
- BOOST_CHECK (f.format() == 0);
- BOOST_CHECK (f.dcp_content_type() == 0);
- BOOST_CHECK (f.filters ().empty());
-
- f.set_name ("fred");
- BOOST_CHECK_THROW (f.set_content ("jim"), OpenFileError);
- f.set_dcp_content_type (DCPContentType::from_pretty_name ("Short"));
- f.set_format (Format::from_nickname ("Flat"));
- f.set_left_crop (1);
- f.set_right_crop (2);
- f.set_top_crop (3);
- f.set_bottom_crop (4);
- vector<Filter const *> f_filters;
- f_filters.push_back (Filter::from_id ("pphb"));
- f_filters.push_back (Filter::from_id ("unsharp"));
- f.set_filters (f_filters);
- f.set_dcp_frames (42);
- f.set_dcp_ab (true);
- f.write_metadata ();
-
- stringstream s;
- s << "diff -u test/metadata.ref " << test_film << "/metadata";
- BOOST_CHECK_EQUAL (::system (s.str().c_str ()), 0);
-
- Film g (test_film, true);
-
- BOOST_CHECK_EQUAL (g.name(), "fred");
- BOOST_CHECK_EQUAL (g.dcp_content_type(), DCPContentType::from_pretty_name ("Short"));
- BOOST_CHECK_EQUAL (g.format(), Format::from_nickname ("Flat"));
- BOOST_CHECK_EQUAL (g.crop().left, 1);
- BOOST_CHECK_EQUAL (g.crop().right, 2);
- BOOST_CHECK_EQUAL (g.crop().top, 3);
- BOOST_CHECK_EQUAL (g.crop().bottom, 4);
- vector<Filter const *> g_filters = g.filters ();
- BOOST_CHECK_EQUAL (g_filters.size(), 2);
- BOOST_CHECK_EQUAL (g_filters.front(), Filter::from_id ("pphb"));
- BOOST_CHECK_EQUAL (g_filters.back(), Filter::from_id ("unsharp"));
- BOOST_CHECK_EQUAL (g.dcp_frames(), 42);
- BOOST_CHECK_EQUAL (g.dcp_ab(), true);
-
- g.write_metadata ();
- BOOST_CHECK_EQUAL (::system (s.str().c_str ()), 0);
-}
-
-BOOST_AUTO_TEST_CASE (format_test)
-{
- Format::setup_formats ();
-
- Format const * f = Format::from_nickname ("Flat");
- BOOST_CHECK (f);
- BOOST_CHECK_EQUAL (f->ratio_as_integer(0), 185);
-
- f = Format::from_nickname ("Scope");
- BOOST_CHECK (f);
- BOOST_CHECK_EQUAL (f->ratio_as_integer(0), 239);
-}