blob: d5461f76e05f625c2c1d749f62c46b2ffa2fd35f [file] [log] [blame]
// 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}));
}
}