2 // Copyright 2018 Mateusz Loskot <mateusz at loskot dot net>
4 // Distributed under the Boost Software License, Version 1.0
5 // See accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt
8 #include <boost/gil/image.hpp>
9 #include <boost/gil/image_view.hpp>
10 #include <boost/gil/typedefs.hpp>
12 #include <boost/core/lightweight_test.hpp>
14 namespace gil = boost::gil;
16 gil::gray8_pixel_t const gray128(128);
17 gil::gray8_pixel_t const gray255(255);
21 gil::gray8_image_t image(2, 2, gray255);
22 auto view = gil::view(image);
23 BOOST_TEST(*view.begin() == gray255);
28 gil::gray8_image_t::view_t view;
29 BOOST_TEST(view.begin() == view.end());
34 gil::gray8_image_t image(2, 2, gray255);
35 auto view = gil::view(image);
37 BOOST_TEST(*view.rbegin() == gray128);
42 gil::gray8_image_t::view_t view;
43 BOOST_TEST(view.rbegin() == view.rend());
48 gil::gray8_image_t image(2, 2, gray255);
49 auto view = gil::view(image);
50 BOOST_TEST(view.front() == gray255);
55 gil::gray8_image_t image(2, 2, gray255);
56 auto view = gil::view(image);
57 BOOST_TEST(view.back() == gray255);
62 gil::gray8_image_t::view_t view;
63 BOOST_TEST(view.empty());
65 gil::gray8_image_t image(2, 2);
66 view = gil::view(image);
67 BOOST_TEST(!view.empty());
72 gil::gray8_image_t::view_t view;
73 BOOST_TEST_EQ(view.size(), 0);
75 gil::gray8_image_t image(2, 2);
76 view = gil::view(image);
77 BOOST_TEST_EQ(view.size(), 4);
82 gil::gray8_image_t::view_t view1;
83 gil::gray8_image_t::view_t view2;
85 gil::gray8_image_t image(2, 2);
86 view1 = gil::view(image);
89 BOOST_TEST(view1.empty());
90 BOOST_TEST(!view2.empty());
105 // ReversibleCollection
110 return boost::report_errors();