/*
- Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
*/
+/** @test test/stream_test.cc
+ * @brief Some simple tests of FFmpegAudioStream.
+ */
+
+#include <boost/test/unit_test.hpp>
+#include <libxml++/libxml++.h>
#include <libcxml/cxml.h>
+#include "lib/ffmpeg_content.h"
+#include "lib/ffmpeg_audio_stream.h"
+#include "lib/film.h"
using std::pair;
+using std::list;
+using boost::shared_ptr;
BOOST_AUTO_TEST_CASE (stream_test)
{
root->add_child("Id")->add_child_text ("4");
root->add_child("FrameRate")->add_child_text ("44100");
root->add_child("Channels")->add_child_text ("2");
+
+ /* This is the state file version 5 description of the mapping */
+
xmlpp::Element* mapping = root->add_child("Mapping");
mapping->add_child("ContentChannels")->add_child_text ("2");
{
map->add_child("DCP")->add_child_text ("2");
}
- FFmpegAudioStream a (shared_ptr<cxml::Node> (new cxml::Node (root)));
+ FFmpegAudioStream a (cxml::NodePtr (new cxml::Node (root)), 5);
- BOOST_CHECK_EQUAL (a.id, 4);
- BOOST_CHECK_EQUAL (a.frame_rate, 44100);
- BOOST_CHECK_EQUAL (a.channels, 2);
+ BOOST_CHECK_EQUAL (a.identifier(), "4");
+ BOOST_CHECK_EQUAL (a.frame_rate(), 44100);
+ BOOST_CHECK_EQUAL (a.channels(), 2);
BOOST_CHECK_EQUAL (a.name, "hello there world");
- BOOST_CHECK_EQUAL (a.mapping.content_channels(), 2);
- BOOST_CHECK_EQUAL (a.mapping.content_to_dcp().size(), 4);
-
- list<pair<int, libdcp::Channel> > m = a.mapping.content_to_dcp ();
- list<pair<int, libdcp::Channel> >::iterator i = m.begin();
-
- BOOST_CHECK_EQUAL (i->first, 0);
- BOOST_CHECK_EQUAL (i->second, libdcp::LEFT);
- ++i;
-
- BOOST_CHECK_EQUAL (i->first, 0);
- BOOST_CHECK_EQUAL (i->second, libdcp::CENTRE);
- ++i;
-
- BOOST_CHECK_EQUAL (i->first, 1);
- BOOST_CHECK_EQUAL (i->second, libdcp::RIGHT);
- ++i;
+ BOOST_CHECK_EQUAL (a.mapping().content_channels(), 2);
- BOOST_CHECK_EQUAL (i->first, 1);
- BOOST_CHECK_EQUAL (i->second, libdcp::CENTRE);
- ++i;
+ BOOST_CHECK_EQUAL (a.mapping().get (0, dcp::LEFT), 1);
+ BOOST_CHECK_EQUAL (a.mapping().get (0, dcp::RIGHT), 0);
+ BOOST_CHECK_EQUAL (a.mapping().get (0, dcp::CENTRE), 1);
+ BOOST_CHECK_EQUAL (a.mapping().get (1, dcp::LEFT), 0);
+ BOOST_CHECK_EQUAL (a.mapping().get (1, dcp::RIGHT), 1);
+ BOOST_CHECK_EQUAL (a.mapping().get (1, dcp::CENTRE), 1);
}