X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fratio_test.cc;fp=test%2Fratio_test.cc;h=6311976a3519a33fec3b0269e3f17e0f7e8eced1;hb=f385ef03e5ea27519a31c0839447735a7fba0602;hp=0000000000000000000000000000000000000000;hpb=c13771610ef9a01cb29342bca82f9999f8b5ddbc;p=dcpomatic.git diff --git a/test/ratio_test.cc b/test/ratio_test.cc new file mode 100644 index 000000000..6311976a3 --- /dev/null +++ b/test/ratio_test.cc @@ -0,0 +1,73 @@ +/* + Copyright (C) 2012 Carl Hetherington + + 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. + +*/ + +using std::ostream; + +namespace libdcp { + +ostream& +operator<< (ostream& s, libdcp::Size const & t) +{ + s << t.width << "x" << t.height; + return s; +} + +} + +BOOST_AUTO_TEST_CASE (ratio_test) +{ + Ratio::setup_ratios (); + + Ratio const * r = Ratio::from_id ("119"); + BOOST_CHECK (r); + BOOST_CHECK_EQUAL (r->size(libdcp::Size (2048, 1080)), libdcp::Size (1285, 1080)); + + r = Ratio::from_id ("133"); + BOOST_CHECK (r); + BOOST_CHECK_EQUAL (r->size(libdcp::Size (2048, 1080)), libdcp::Size (1436, 1080)); + + r = Ratio::from_id ("137"); + BOOST_CHECK (r); + BOOST_CHECK_EQUAL (r->size(libdcp::Size (2048, 1080)), libdcp::Size (1480, 1080)); + + r = Ratio::from_id ("138"); + BOOST_CHECK (r); + BOOST_CHECK_EQUAL (r->size(libdcp::Size (2048, 1080)), libdcp::Size (1485, 1080)); + + r = Ratio::from_id ("166"); + BOOST_CHECK (r); + BOOST_CHECK_EQUAL (r->size(libdcp::Size (2048, 1080)), libdcp::Size (1793, 1080)); + + r = Ratio::from_id ("178"); + BOOST_CHECK (r); + BOOST_CHECK_EQUAL (r->size(libdcp::Size (2048, 1080)), libdcp::Size (1920, 1080)); + + r = Ratio::from_id ("185"); + BOOST_CHECK (r); + BOOST_CHECK_EQUAL (r->size(libdcp::Size (2048, 1080)), libdcp::Size (1998, 1080)); + + r = Ratio::from_id ("239"); + BOOST_CHECK (r); + BOOST_CHECK_EQUAL (r->size(libdcp::Size (2048, 1080)), libdcp::Size (2048, 858)); + + r = Ratio::from_id ("full-frame"); + BOOST_CHECK (r); + BOOST_CHECK_EQUAL (r->size(libdcp::Size (2048, 1080)), libdcp::Size (2048, 1080)); +} +