ZXAlgorithmsTest.cpp 896 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * Copyright 2022 Axel Waggershauser
  3. */
  4. // SPDX-License-Identifier: Apache-2.0
  5. #include "ZXAlgorithms.h"
  6. #include "gtest/gtest.h"
  7. using namespace ZXing;
  8. TEST(ZXAlgorithmsTest, ToDigit)
  9. {
  10. EXPECT_EQ(ToDigit(0), '0');
  11. EXPECT_EQ(ToDigit(9), '9');
  12. EXPECT_THROW(ToDigit(-1), Error);
  13. EXPECT_THROW(ToDigit(11), Error);
  14. }
  15. TEST(ZXAlgorithmsTest, ToString)
  16. {
  17. EXPECT_EQ(ToString(0, 1), "0");
  18. EXPECT_EQ(ToString(0, 2), "00");
  19. EXPECT_EQ(ToString(1, 3), "001");
  20. EXPECT_EQ(ToString(99, 2), "99");
  21. EXPECT_THROW(ToString(-1, 2), Error);
  22. EXPECT_THROW(ToString(111, 2), Error);
  23. }
  24. TEST(ZXAlgorithmsTest, UpdateMinMax)
  25. {
  26. int m = 10, M = 0;
  27. UpdateMinMax(m, M, 5);
  28. EXPECT_EQ(m, 5);
  29. EXPECT_EQ(M, 5);
  30. UpdateMinMax(m, M, 2);
  31. EXPECT_EQ(m, 2);
  32. EXPECT_EQ(M, 5);
  33. m = M = 1;
  34. UpdateMinMax(m, M, 0);
  35. EXPECT_EQ(m, 0);
  36. EXPECT_EQ(M, 1);
  37. UpdateMinMax(m, M, 2);
  38. EXPECT_EQ(m, 0);
  39. EXPECT_EQ(M, 2);
  40. }