]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/gil/test/core/image_view/x_iterator.cpp
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / boost / libs / gil / test / core / image_view / x_iterator.cpp
CommitLineData
f67539c2
TL
1//
2// Copyright 2020 Mateusz Loskot <mateusz at loskot dot net>
3//
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
7//
8#include <boost/gil/image.hpp>
9#include <boost/gil/image_view.hpp>
10#include <boost/gil/typedefs.hpp>
11
12#include <boost/core/ignore_unused.hpp>
13#include <boost/core/lightweight_test.hpp>
14
15#include "test_fixture.hpp"
16#include "test_utility_output_stream.hpp"
17
18namespace gil = boost::gil;
19namespace fixture = boost::gil::test::fixture;
20
21void test_x_at()
22{
23 {
24 gil::gray8_image_t image = fixture::make_image_gray8();
25 auto view = gil::view(image);
26 BOOST_TEST_EQ(*view.x_at(0, 0), fixture::gray8_draw_pixel);
27 BOOST_TEST_EQ(*view.x_at(1, 0), fixture::gray8_back_pixel);
28 BOOST_TEST_EQ(*view.x_at(1, 1), fixture::gray8_draw_pixel);
29 BOOST_TEST_EQ(*view.x_at(gil::point_t{0, 0}), fixture::gray8_draw_pixel);
30 BOOST_TEST_EQ(*view.x_at(gil::point_t{0, 1}), fixture::gray8_back_pixel);
31 BOOST_TEST_EQ(*view.x_at(gil::point_t{1, 1}), fixture::gray8_draw_pixel);
32 BOOST_TEST_EQ(view.x_at(0, 0), view.row_begin(0));
33 BOOST_TEST_EQ(view.x_at(0, 1), view.row_begin(1));
34 BOOST_TEST_EQ(view.x_at(2, 0), view.row_end(0));
35 BOOST_TEST_EQ(view.x_at(2, 1), view.row_end(1));
36 }
37 {
38 gil::rgb8_image_t image = fixture::make_image_rgb8();
39 auto view = gil::view(image);
40 BOOST_TEST_EQ(*view.x_at(0, 0), fixture::rgb8_draw_pixel);
41 BOOST_TEST_EQ(*view.x_at(1, 0), fixture::rgb8_back_pixel);
42 BOOST_TEST_EQ(*view.x_at(1, 1), fixture::rgb8_draw_pixel);
43 BOOST_TEST_EQ(*view.x_at(gil::point_t{0, 0}), fixture::rgb8_draw_pixel);
44 BOOST_TEST_EQ(*view.x_at(gil::point_t{0, 1}), fixture::rgb8_back_pixel);
45 BOOST_TEST_EQ(*view.x_at(gil::point_t{1, 1}), fixture::rgb8_draw_pixel);
46 BOOST_TEST_EQ(view.x_at(0, 0), view.row_begin(0));
47 BOOST_TEST_EQ(view.x_at(0, 1), view.row_begin(1));
48 BOOST_TEST_EQ(view.x_at(2, 0), view.row_end(0));
49 BOOST_TEST_EQ(view.x_at(2, 1), view.row_end(1));
50 }
51}
52
53void test_row_begin()
54{
55 {
56 gil::gray8_image_t image = fixture::make_image_gray8();
57 auto view = gil::view(image);
58 BOOST_TEST_EQ(*view.row_begin(0), fixture::gray8_draw_pixel);
59 BOOST_TEST_EQ(*view.row_begin(1), fixture::gray8_back_pixel);
60 }
61 {
62 gil::rgb8_image_t image = fixture::make_image_rgb8();
63 auto view = gil::view(image);
64 BOOST_TEST_EQ(*view.row_begin(0), fixture::rgb8_draw_pixel);
65 BOOST_TEST_EQ(*view.row_begin(1), fixture::rgb8_back_pixel);
66 }
67}
68
69void test_row_end()
70{
71 {
72 gil::gray8_image_t image;
73 auto view = gil::view(image);
74#ifdef NDEBUG // skip assertion on y < height(), see TODO comment in image_view.hpp
75 BOOST_TEST_EQ(view.row_begin(0), view.row_end(0));
76#else
77 boost::ignore_unused(view);
78#endif
79 }
80 {
81 gil::rgb8_image_t image;
82 auto view = gil::view(image);
83#ifdef NDEBUG // skip assertion on y < height(), see TODO comment in image_view.hpp
84 BOOST_TEST_EQ(view.row_begin(0), view.row_end(0));
85#else
86 boost::ignore_unused(view);
87#endif
88 }
89}
90
91int main()
92{
93 test_x_at();
94 test_row_begin();
95 test_row_end();
96
97 return boost::report_errors();
98}