X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fcolour_conversion_test.cc;h=94284f879aea0bb99959278454286ad8ccbb9541;hb=ec1df37a1940063dc0dbc45ad2dab638bdc92c0d;hp=da6600f08abc58b042b16ea357dcbb48852dc45b;hpb=903b6d12af93066bf2328a5f48a846f289c5b7b2;p=dcpomatic.git diff --git a/test/colour_conversion_test.cc b/test/colour_conversion_test.cc index da6600f08..94284f879 100644 --- a/test/colour_conversion_test.cc +++ b/test/colour_conversion_test.cc @@ -1,31 +1,35 @@ /* Copyright (C) 2013-2015 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic 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, + DCP-o-matic 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. + along with DCP-o-matic. If not, see . */ /** @file test/colour_conversion_test.cc - * @brief Various tests of ColourConversion. + * @brief Test ColourConversion class. + * @ingroup selfcontained */ #include "lib/colour_conversion.h" -#include +#include "lib/film.h" #include #include #include +#include +#include using std::cout; using boost::shared_ptr; @@ -97,3 +101,16 @@ BOOST_AUTO_TEST_CASE (colour_conversion_test3) "\n" ); } + +/** Test a round trip via the XML representation */ +BOOST_AUTO_TEST_CASE (colour_conversion_test4) +{ + BOOST_FOREACH (PresetColourConversion const & i, PresetColourConversion::all ()) { + xmlpp::Document out; + xmlpp::Element* out_root = out.create_root_node ("Test"); + i.conversion.as_xml (out_root); + shared_ptr in (new cxml::Document ("Test")); + in->read_string (out.write_to_string ("UTF-8")); + BOOST_CHECK (ColourConversion::from_xml (in, Film::current_state_version).get () == i.conversion); + } +}