TestLine.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include <math.h>
  2. #ifdef HAS_OPENCV3
  3. #include <opencv2/core.hpp> //Any OPENCV3 code
  4. #else
  5. #include <opencv2/core/core.hpp> //Any Opencv2 code
  6. #endif
  7. using namespace cv;
  8. #include <cxxtest/TestSuite.h>
  9. #include "geometry.h"
  10. class TestLine : public CxxTest::TestSuite
  11. {
  12. public:
  13. void testBisector(void)
  14. {
  15. // x-y = 0
  16. auto l = get_line(Point(0,0), Point(1,1));
  17. TS_ASSERT_EQUALS(l(0), -l(1));
  18. TS_ASSERT_EQUALS(l(2), 0);
  19. }
  20. void testBisectorNegative(void)
  21. {
  22. // x+y = 0
  23. auto l = get_line(Point(0,0), Point(1,-1));
  24. TS_ASSERT_EQUALS(l(0), l(1));
  25. TS_ASSERT_EQUALS(l(2), 0);
  26. }
  27. void testConstant(void)
  28. {
  29. // y = 42
  30. // 0x+1y-42=0
  31. auto l = get_line(Point(0,42), Point(10,42));
  32. TS_ASSERT_EQUALS(l(0), 0);
  33. TS_ASSERT_EQUALS(l(2), -42*l(1));
  34. }
  35. void testVertical(void)
  36. {
  37. // x = 42
  38. // 1x+0y-42=0
  39. auto l = get_line(Point(42,0), Point(42,10));
  40. TS_ASSERT_EQUALS(l(1), 0);
  41. TS_ASSERT_EQUALS(l(2), -42*l(0));
  42. }
  43. };