Simplify and test audio sample rate alteration.
[dcpomatic.git] / test / test.cc
index 99781d1a28e6d81636a8689a724e41cff97910e3..d978d36a0044e507b10aeb2b41f271d67ea8355d 100644 (file)
@@ -104,11 +104,11 @@ BOOST_AUTO_TEST_CASE (format_test)
        
        Format const * f = Format::from_nickname ("Flat");
        BOOST_CHECK (f);
-       BOOST_CHECK_EQUAL (f->ratio_as_integer(), 185);
+       BOOST_CHECK_EQUAL (f->ratio_as_integer(0), 185);
        
        f = Format::from_nickname ("Scope");
        BOOST_CHECK (f);
-       BOOST_CHECK_EQUAL (f->ratio_as_integer(), 239);
+       BOOST_CHECK_EQUAL (f->ratio_as_integer(0), 239);
 }
 
 BOOST_AUTO_TEST_CASE (util_test)
@@ -328,7 +328,7 @@ BOOST_AUTO_TEST_CASE (make_dcp_test)
        film.set_name ("test_film");
        film.set_content ("../../../test/test.mp4");
        film.examine_content ();
-       film.set_format (Format::from_ratio (185));
+       film.set_format (Format::from_nickname ("Flat"));
        film.set_dcp_content_type (DCPContentType::from_pretty_name ("Test"));
        film.make_dcp (true);
 
@@ -351,7 +351,7 @@ BOOST_AUTO_TEST_CASE (make_dcp_with_range_test)
        film.set_name ("test_film");
        film.set_content ("../../../test/test.mp4");
        film.examine_content ();
-       film.set_format (Format::from_ratio (185));
+       film.set_format (Format::from_nickname ("Flat"));
        film.set_dcp_content_type (DCPContentType::from_pretty_name ("Test"));
        film.set_dcp_frames (42);
        film.make_dcp (true);
@@ -362,3 +362,26 @@ BOOST_AUTO_TEST_CASE (make_dcp_with_range_test)
 
        BOOST_CHECK_EQUAL (JobManager::instance()->errors(), false);
 }
+
+BOOST_AUTO_TEST_CASE (audio_sampling_rate_test)
+{
+       FilmState fs;
+       fs.frames_per_second = 24;
+
+       fs.audio_sample_rate = 48000;
+       BOOST_CHECK_EQUAL (fs.target_sample_rate(), 48000);
+
+       fs.audio_sample_rate = 44100;
+       BOOST_CHECK_EQUAL (fs.target_sample_rate(), 48000);
+
+       fs.audio_sample_rate = 80000;
+       BOOST_CHECK_EQUAL (fs.target_sample_rate(), 96000);
+
+       fs.frames_per_second = 23.976;
+       fs.audio_sample_rate = 48000;
+       BOOST_CHECK_EQUAL (fs.target_sample_rate(), 47952);
+
+       fs.frames_per_second = 29.97;
+       fs.audio_sample_rate = 48000;
+       BOOST_CHECK_EQUAL (fs.target_sample_rate(), 47952);
+}