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