blob: f09be751b4587f8afb2062e6de1b66aa5ec33fec [file] [log] [blame]
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// @assertion bool containsPoint(Point<num> another)
/// Tests whether another is inside or along the edges of this.
/// @description Checks the predicate for some predefined data.
/// @author kaigorodov
import "dart:math";
import "../../../Utils/expect.dart";
void check(MutableRectangle r, num px, num py, bool expected) {
Point p = new Point(px, py);
bool actual = r.containsPoint(p);
Expect.equals(expected, actual, "r=$r, p=$p, expected=$expected");
}
main() {
MutableRectangle r = new MutableRectangle(0, 0, 1, 1);
check(r, 0, 0, true);
check(r, 0, 1, true);
check(r, 1, 0, true);
check(r, 0.5, 1, true);
check(r, 1, 0.5, true);
check(r, 0.5, 0.5, true);
check(r, -0.001, 0, false);
check(r, 0, -0.001, false);
check(r, 1.0001, 0, false);
check(r, 1.001, 1.0001, false);
check(r, 1, -0.001, false);
check(r, -0.001, -0.001, false);
check(r, 1.001, -0.001, false);
}