| // 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})); | |
| } | |
| } |