2
0
mirror of https://github.com/boostorg/gil.git synced 2026-02-26 16:52:10 +00:00
Files
gil/test/pixel/is_pixel.cpp
Mateusz Łoskot b1998d9a74 Add pixel test fixture with all core pixel types (#248)
Add test for pixel_reference_is_mutable metafunction.

From the legacy tests
- port value_core and reference_core fixtures, see
  https://lists.boost.org/boost-gil/2019/02/0138.php
- port representative pixel types and verify with tests of some
  metafunctions.

Clean up test names for CTest in the CMake configuration.
Disable some GCC/clang warnings in tests to avoid CI build
termination due to too long logs.
2019-03-02 23:18:54 +01:00

58 lines
1.5 KiB
C++

//
// Copyright 2019 Mateusz Loskot <mateusz at loskot dot net>
//
// Distributed under the Boost Software License, Version 1.0
// See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt
//
#include <boost/gil/pixel.hpp>
#include <boost/gil/concepts/pixel.hpp>
#include <boost/gil/typedefs.hpp>
#include <boost/mp11.hpp>
#include "test_fixture.hpp"
namespace gil = boost::gil;
using namespace boost::mp11;
int main()
{
static_assert(std::is_same
<
mp_all_of<gil::test::fixture::pixel_typedefs, gil::is_pixel>,
std::true_type
>::value,
"is_pixel does not yield true for all core pixel types");
static_assert(std::is_same
<
mp_all_of
<
mp_transform
<
gil::test::fixture::nested_pixel_type,
gil::test::fixture::representative_pixel_types
>,
gil::is_pixel
>,
std::true_type
>::value,
"is_pixel does not yield true for representative pixel types");
static_assert(std::is_same
<
mp_all_of<gil::test::fixture::non_pixels, gil::is_pixel>,
std::false_type
>::value,
"is_pixel yields true for non-pixel type");
static_assert(std::is_same
<
mp_none_of<gil::test::fixture::non_pixels, gil::is_pixel>,
std::true_type
>::value,
"is_pixel yields true for non-pixel type");
}