*/
+#include <cmath>
#include <boost/filesystem.hpp>
+#include <libxml++/libxml++.h>
#include "KM_prng.h"
#include "dcp.h"
#include "util.h"
-#include "tags.h"
+#include "metadata.h"
+#include "types.h"
+#include "exceptions.h"
+#include "subtitle_asset.h"
+#include "picture_asset.h"
+#include "sound_asset.h"
+#include "reel.h"
+#include "certificates.h"
+#include "crypt_chain.h"
+#include "gamma_lut.h"
+#include "cpl.h"
+#include "encryption.h"
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MODULE libdcp_test
#include <boost/test/unit_test.hpp>
-using namespace std;
-using namespace boost;
+using std::string;
+using std::cout;
+using std::vector;
+using std::list;
+using boost::shared_ptr;
-BOOST_AUTO_TEST_CASE (dcp_test)
+struct TestConfig
{
- Kumu::libdcp_test = true;
-
- libdcp::Tags* t = libdcp::Tags::instance ();
- t->issuer = "OpenDCP 0.0.25";
- t->creator = "OpenDCP 0.0.25";
- t->company_name = "OpenDCP";
- t->product_name = "OpenDCP";
- t->product_version = "0.0.25";
- t->issue_date = "2012-07-17T04:45:18+00:00";
- filesystem::remove_all ("build/test/foo");
- filesystem::create_directories ("build/test/foo");
- libdcp::DCP d ("build/test/foo", "A Test DCP", libdcp::DCP::FEATURE, 24, 24);
-
- list<string> j2cs;
- for (int i = 0; i < 24; ++i) {
- j2cs.push_back ("test/data/32x32_red_square.j2c");
+ TestConfig()
+ {
+ libdcp::init ();
}
- d.add_picture_asset (j2cs, 32, 32);
-
- list<string> wavs;
- for (int i = 0; i < 2; ++i) {
- wavs.push_back ("test/data/1s_24-bit_48k_silence.wav");
- }
- d.add_sound_asset (wavs);
+};
+
+BOOST_GLOBAL_FIXTURE (TestConfig);
+
+static string
+j2c (int)
+{
+ return "test/data/32x32_red_square.j2c";
+}
- d.write_xml ();
+static string
+wav (libdcp::Channel)
+{
+ return "test/data/1s_24-bit_48k_silence.wav";
}
+
+static string test_corpus = "../libdcp-test";
+
+#include "util_test.cc"
+#include "decryption_test.cc"
+#include "kdm_test.cc"
+#include "dcp_test.cc"
+#include "error_test.cc"
+#include "read_dcp_test.cc"
+#include "subtitle_tests.cc"
+#include "dcp_time_test.cc"
+#include "color_test.cc"
+#include "recovery_test.cc"
+#include "certificates_test.cc"
+
+//BOOST_AUTO_TEST_CASE (crypt_chain)
+//{
+// boost::filesystem::remove_all ("build/test/crypt");
+// boost::filesystem::create_directory ("build/test/crypt");
+// libdcp::make_crypt_chain ("build/test/crypt");
+//}
+
+//#include "encryption_test.cc"