| // Copyright 2023 Google LLC |
| // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. |
| |
| #include "modules/bentleyottmann/include/Point.h" |
| #include "tests/Test.h" |
| |
| using namespace bentleyottmann; |
| |
| DEF_TEST(BO_PointBasic, reporter) { |
| { |
| Point p0 = {0, 0}; |
| Point p1 = {0, 0}; |
| REPORTER_ASSERT(reporter, !(p0 < p1)); |
| REPORTER_ASSERT(reporter, !(p1 < p0)); |
| REPORTER_ASSERT(reporter, p0 == p1); |
| } |
| |
| { |
| Point p0 = {0, 0}; |
| Point p1 = {1, 1}; |
| REPORTER_ASSERT(reporter, p0 < p1); |
| REPORTER_ASSERT(reporter, !(p1 < p0)); |
| REPORTER_ASSERT(reporter, p0 != p1); |
| } |
| |
| { |
| // Same y different x. |
| Point p0 = {0, 0}; |
| Point p1 = {1, 0}; |
| REPORTER_ASSERT(reporter, p0 < p1); |
| REPORTER_ASSERT(reporter, !(p1 < p0)); |
| REPORTER_ASSERT(reporter, p0 != p1); |
| } |
| |
| { |
| REPORTER_ASSERT(reporter, !Point::DifferenceTooBig(Point::Smallest(), Point{0, 0})); |
| REPORTER_ASSERT(reporter, !Point::DifferenceTooBig(Point::Largest(), Point{0, 0})); |
| REPORTER_ASSERT(reporter, Point::DifferenceTooBig(Point{0, 0}, Point::Smallest())); |
| REPORTER_ASSERT(reporter, !Point::DifferenceTooBig(Point{0, 0}, Point::Largest())); |
| REPORTER_ASSERT(reporter, Point::DifferenceTooBig(Point::Smallest(), Point::Largest())); |
| REPORTER_ASSERT(reporter, Point::DifferenceTooBig(Point::Largest(), Point::Smallest())); |
| REPORTER_ASSERT(reporter, |
| !Point::DifferenceTooBig(Point::Smallest() + Point{1, 1}, Point{0, 0})); |
| REPORTER_ASSERT(reporter, |
| !Point::DifferenceTooBig(Point{0, 0}, Point::Smallest() + Point{1, 1})); |
| } |
| } |