Add another test.
authorCarl Hetherington <cth@carlh.net>
Sun, 28 Dec 2014 14:54:04 +0000 (14:54 +0000)
committerCarl Hetherington <cth@carlh.net>
Sun, 28 Dec 2014 14:54:04 +0000 (14:54 +0000)
test/exception_test.cc [new file with mode: 0644]
test/wscript

diff --git a/test/exception_test.cc b/test/exception_test.cc
new file mode 100644 (file)
index 0000000..740154d
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+    Copyright (C) 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
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+#include "exceptions.h"
+#include <boost/test/unit_test.hpp>
+
+using std::string;
+
+BOOST_AUTO_TEST_CASE (exception_test)
+{
+       BOOST_CHECK_EQUAL (string (dcp::FileError ("foo", "bar", 42).what()), "foo (bar) (error 42)");
+       BOOST_CHECK_EQUAL (string (dcp::UnresolvedRefError ("foo").what()), "Unresolved reference to asset id foo");
+       BOOST_CHECK_EQUAL (string (dcp::NotEncryptedError ("foo").what()), "foo is not encrypted");
+       BOOST_CHECK_EQUAL (string (dcp::ProgrammingError ("foo", 42).what()), "Programming error at foo:42");
+       BOOST_CHECK_EQUAL (string (dcp::MissingAssetError ("foo", dcp::MissingAssetError::MAIN_PICTURE).what()), "Missing asset foo for main picture");
+       BOOST_CHECK_EQUAL (string (dcp::MissingAssetError ("foo", dcp::MissingAssetError::MAIN_SOUND).what()), "Missing asset foo for main sound");
+       BOOST_CHECK_EQUAL (string (dcp::MissingAssetError ("foo", dcp::MissingAssetError::MAIN_SUBTITLE).what()), "Missing asset foo for main subtitle");
+}
index 75db2626867c189e66861759d9874cd9521979a9..3ad2002c47a9e3beea335ca1a7a628d2f48db121 100644 (file)
@@ -35,6 +35,7 @@ def build(bld):
                  decryption_test.cc
                  effect_test.cc
                  encryption_test.cc
+                 exception_test.cc
                  fraction_test.cc
                  frame_info_test.cc
                  interop_load_font_test.cc