channel_traits.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //
  2. // Copyright 2018 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/channel.hpp>
  9. #include <boost/gil/typedefs.hpp>
  10. #include <cstdint>
  11. #include <limits>
  12. #define BOOST_TEST_MODULE test_channel_traits
  13. #include "unit_test.hpp"
  14. namespace gil = boost::gil;
  15. template <typename T>
  16. void test_channel_minmax()
  17. {
  18. BOOST_TEST(gil::channel_traits<T>::min_value() ==
  19. std::numeric_limits<T>::min());
  20. BOOST_TEST(gil::channel_traits<T>::max_value() ==
  21. std::numeric_limits<T>::max());
  22. }
  23. BOOST_AUTO_TEST_CASE(channel_minmax_uint8_t)
  24. {
  25. test_channel_minmax<std::uint8_t>();
  26. }
  27. BOOST_AUTO_TEST_CASE(channel_minmax_int8_t)
  28. {
  29. test_channel_minmax<std::int8_t>();
  30. }
  31. BOOST_AUTO_TEST_CASE(channel_minmax_uint16_t)
  32. {
  33. test_channel_minmax<std::uint16_t>();
  34. }
  35. BOOST_AUTO_TEST_CASE(channel_minmax_int16_t)
  36. {
  37. test_channel_minmax<std::int16_t>();
  38. }
  39. BOOST_AUTO_TEST_CASE(channel_minmax_uint32_t)
  40. {
  41. test_channel_minmax<std::uint32_t>();
  42. }
  43. BOOST_AUTO_TEST_CASE(channel_minmax_int32_t)
  44. {
  45. test_channel_minmax<std::int32_t>();
  46. }