test_fixture.cpp 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //
  2. // Copyright 2019 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/config.hpp>
  9. #include <boost/core/ignore_unused.hpp>
  10. #if defined(BOOST_CLANG)
  11. #pragma clang diagnostic push
  12. #pragma clang diagnostic ignored "-Wconversion"
  13. #pragma clang diagnostic ignored "-Wfloat-equal"
  14. #pragma clang diagnostic ignored "-Wsign-conversion"
  15. #elif BOOST_GCC >= 40700
  16. #pragma GCC diagnostic push
  17. #pragma GCC diagnostic ignored "-Wconversion"
  18. #pragma GCC diagnostic ignored "-Wfloat-equal"
  19. #pragma GCC diagnostic ignored "-Wsign-conversion"
  20. #endif
  21. #include <boost/gil/channel.hpp>
  22. #include <limits>
  23. #include <ostream>
  24. #define BOOST_TEST_MODULE test_pixel_test_fixture
  25. #include "unit_test.hpp"
  26. #include "unit_test_utility.hpp"
  27. #include "test_fixture.hpp"
  28. namespace gil = boost::gil;
  29. namespace fixture = boost::gil::test::fixture;
  30. BOOST_AUTO_TEST_CASE_TEMPLATE(pixel_value_default_constructor, Pixel, fixture::pixel_types)
  31. {
  32. fixture::pixel_value<Pixel> fix;
  33. Pixel const default_value{};
  34. // FIXME: Default value of pixel/homogeneous_color_base is undermined
  35. boost::ignore_unused(fix);
  36. boost::ignore_unused(default_value);
  37. //BOOST_TEST(fix.pixel_ == default_value);
  38. }
  39. BOOST_AUTO_TEST_CASE_TEMPLATE(pixel_value_parameterized_constructor, Pixel, fixture::pixel_types)
  40. {
  41. using channel_t = typename gil::channel_type<Pixel>::type;
  42. // Sample channel value, simplified, could be min, max, random
  43. channel_t const sample_channel = 2;
  44. Pixel sample_pixel;
  45. gil::static_fill(sample_pixel, sample_channel);
  46. fixture::pixel_value<Pixel> fix{sample_pixel};
  47. BOOST_TEST(fix.pixel_ == sample_pixel);
  48. }
  49. BOOST_AUTO_TEST_CASE_TEMPLATE(pixel_reference_default_constructor, Pixel, fixture::pixel_types)
  50. {
  51. fixture::pixel_reference<Pixel&> fix;
  52. Pixel const default_value{};
  53. // FIXME: Default value of pixel/homogeneous_color_base is undermined
  54. boost::ignore_unused(fix);
  55. boost::ignore_unused(default_value);
  56. //BOOST_TEST(fix.pixel_ == Pixel{});
  57. }
  58. BOOST_AUTO_TEST_CASE_TEMPLATE(pixel_reference_parameterized_constructor, Pixel, fixture::pixel_types)
  59. {
  60. using channel_t = typename gil::channel_type<Pixel>::type;
  61. // Sample channel value, simplified, could be min, max, random
  62. channel_t const sample_channel = 3;
  63. Pixel sample_pixel;
  64. gil::static_fill(sample_pixel, sample_channel);
  65. fixture::pixel_reference<Pixel&> fix{sample_pixel};
  66. BOOST_TEST(fix.pixel_ == sample_pixel);
  67. }