Add ol.Rectangle

This commit is contained in:
Tom Payne
2012-07-15 18:51:51 +02:00
parent 582a9e93e0
commit b4ee35954f
2 changed files with 125 additions and 0 deletions

58
src/ol/rectangle_test.js Normal file
View File

@@ -0,0 +1,58 @@
goog.require('goog.math.Coordinate');
goog.require('goog.testing.jsunit');
goog.require('ol.Rectangle');
function testCenter() {
var rectangle = new ol.Rectangle(1, 2, 3, 4);
var center = rectangle.getCenter();
assertEquals(2, center.x);
assertEquals(3, center.y);
}
function testClone() {
var rectangle = new ol.Rectangle(1, 2, 3, 4);
var clonedRectangle = rectangle.clone();
assertTrue(clonedRectangle instanceof ol.Rectangle);
assertFalse(clonedRectangle === rectangle);
assertEquals(rectangle.minX, clonedRectangle.minX);
assertEquals(rectangle.minY, clonedRectangle.minY);
assertEquals(rectangle.maxX, clonedRectangle.maxX);
assertEquals(rectangle.maxY, clonedRectangle.maxY);
}
function testContainsPositive() {
var rectangle = new ol.Rectangle(1, 2, 3, 4);
assertTrue(rectangle.contains(new goog.math.Coordinate(1, 2)));
assertTrue(rectangle.contains(new goog.math.Coordinate(1, 3)));
assertTrue(rectangle.contains(new goog.math.Coordinate(1, 4)));
assertTrue(rectangle.contains(new goog.math.Coordinate(2, 2)));
assertTrue(rectangle.contains(new goog.math.Coordinate(2, 3)));
assertTrue(rectangle.contains(new goog.math.Coordinate(2, 4)));
assertTrue(rectangle.contains(new goog.math.Coordinate(3, 2)));
assertTrue(rectangle.contains(new goog.math.Coordinate(3, 3)));
assertTrue(rectangle.contains(new goog.math.Coordinate(3, 4)));
}
function testContainsNegative() {
var rectangle = new ol.Rectangle(1, 2, 3, 4);
assertFalse(rectangle.contains(new goog.math.Coordinate(0, 1)));
assertFalse(rectangle.contains(new goog.math.Coordinate(0, 2)));
assertFalse(rectangle.contains(new goog.math.Coordinate(0, 3)));
assertFalse(rectangle.contains(new goog.math.Coordinate(0, 4)));
assertFalse(rectangle.contains(new goog.math.Coordinate(0, 5)));
assertFalse(rectangle.contains(new goog.math.Coordinate(1, 1)));
assertFalse(rectangle.contains(new goog.math.Coordinate(1, 5)));
assertFalse(rectangle.contains(new goog.math.Coordinate(2, 1)));
assertFalse(rectangle.contains(new goog.math.Coordinate(2, 5)));
assertFalse(rectangle.contains(new goog.math.Coordinate(3, 1)));
assertFalse(rectangle.contains(new goog.math.Coordinate(3, 5)));
assertFalse(rectangle.contains(new goog.math.Coordinate(4, 1)));
assertFalse(rectangle.contains(new goog.math.Coordinate(4, 2)));
assertFalse(rectangle.contains(new goog.math.Coordinate(4, 3)));
assertFalse(rectangle.contains(new goog.math.Coordinate(4, 4)));
assertFalse(rectangle.contains(new goog.math.Coordinate(4, 5)));
}