diff --git a/test/lib/test_functions.js b/test/lib/test_functions.js index 9245e0d4..2ae79a6c 100644 --- a/test/lib/test_functions.js +++ b/test/lib/test_functions.js @@ -1,5 +1,5 @@ function compareSegmentLists(list1, list2) { - equal(list1.length, list2.length, 'segment count'); + equals(list1.length, list2.length, 'segment count'); if(list1.length == list2.length) { for(var i = 0, l = list1.length; i < l; i++) { compareSegments(list1[i], list2[i]); @@ -17,6 +17,15 @@ function compareSegments(segment1, segment2) { } function comparePoints(point1, point2, message) { - equals(Math.round(point1.x * 100), Math.round(point2.x * 100), message + ' x'); - equals(Math.round(point1.y * 100), Math.round(point2.y * 100), message + ' y'); + equals(Math.round(point1.x * 100), Math.round(point2.x * 100), + message ? message + ' x' : undefined); + equals(Math.round(point1.y * 100), Math.round(point2.y * 100), + message ? message + ' y' : undefined); +} + +function compareRectangles(rect1, rect2) { + equals(rect1.x, rect2.x); + equals(rect1.y, rect2.y); + equals(rect1.width, rect2.width); + equals(rect1.height, rect2.height); } \ No newline at end of file diff --git a/test/tests/Rectangle.js b/test/tests/Rectangle.js index c6704c73..1490f18b 100644 --- a/test/tests/Rectangle.js +++ b/test/tests/Rectangle.js @@ -1,42 +1,27 @@ module('Rectangle'); test('new Rectangle(new Point(10, 20), new Size(30, 40));', function() { var rect = new Rectangle(new Point(10, 20), new Size(30, 40)); - equals(rect.x, 10); - equals(rect.y, 20); - equals(rect.width, 30); - equals(rect.height, 40); + compareRectangles(rect, { x: 10, y: 20, width: 30, height: 40 }); }); test('new Rectangle([10, 20], [30, 40]);', function() { var rect = new Rectangle([10, 20], [30, 40]); - equals(rect.x, 10); - equals(rect.y, 20); - equals(rect.width, 30); - equals(rect.height, 40); + compareRectangles(rect, { x: 10, y: 20, width: 30, height: 40 }); }); test('new Rectangle(new Point(10, 20), new Point(30, 40));', function() { var rect = new Rectangle(new Point(10, 20), new Point(30, 40)); - equals(rect.x, 10); - equals(rect.y, 20); - equals(rect.width, 20); - equals(rect.height, 20); + compareRectangles(rect, { x: 10, y: 20, width: 20, height: 20 }); }); test('new Rectangle(10, 20, 30, 40);', function() { var rect = new Rectangle(10, 20, 30, 40); - equals(rect.x, 10); - equals(rect.y, 20); - equals(rect.width, 30); - equals(rect.height, 40); + compareRectangles(rect, { x: 10, y: 20, width: 30, height: 40 }); }); test('new Rectangle({x: 10, y: 20, width: 30, height: 40});', function() { var rect = new Rectangle({x: 10, y: 20, width: 30, height: 40}); - equals(rect.x, 10); - equals(rect.y, 20); - equals(rect.width, 30); - equals(rect.height, 40); + compareRectangles(rect, { x: 10, y: 20, width: 30, height: 40 }); }); test('get size', function() { @@ -47,128 +32,111 @@ test('get size', function() { test('set size', function() { var rect = new Rectangle(10, 10, 20, 20); rect.size = new Size(30, 30); - equals(rect.width, 30); - equals(rect.height, 30); + compareRectangles(rect, { x: 10, y: 10, width: 30, height: 30 }); }); test('topLeft', function() { var rect = new Rectangle(10, 10, 20, 20); var point = rect.topLeft; - equals(point.x, 10); - equals(point.y, 10); + comparePoints(point, { x: 10, y: 10 }); }); test('set topLeft', function() { var rect = new Rectangle(10, 10, 20, 20); rect.topLeft = [10, 15]; var point = rect.topLeft; - equals(point.x, 10); - equals(point.y, 15); + comparePoints(point, { x: 10, y: 15 }); }); test('get topRight', function() { var rect = new Rectangle(10, 10, 20, 20); var point = rect.topRight; - equals(point.x, 30); - equals(point.y, 10); + comparePoints(point, { x: 30, y: 10 }); }); test('set topRight', function() { var rect = new Rectangle(10, 10, 20, 20); rect.topRight = [10, 15]; var point = rect.topRight; - equals(point.x, 10); - equals(point.y, 15); + comparePoints(point, { x: 10, y: 15 }); }); test('get bottomLeft', function() { var rect = new Rectangle(10, 10, 20, 20); var point = rect.bottomLeft; - equals(point.x, 10); - equals(point.y, 30); + comparePoints(point, { x: 10, y: 30 }); }); test('set bottomLeft', function() { var rect = new Rectangle(10, 10, 20, 20); rect.bottomLeft = [10, 15]; var point = rect.bottomLeft; - equals(point.x, 10); - equals(point.y, 15); + comparePoints(point, { x: 10, y: 15 }); }); test('get bottomRight', function() { var rect = new Rectangle(10, 10, 20, 20); var point = rect.bottomRight; - equals(point.x, 30); - equals(point.y, 30); + comparePoints(point, { x: 30, y: 30 }); }); test('set bottomRight', function() { var rect = new Rectangle(10, 10, 20, 20); rect.bottomRight = [10, 15]; var point = rect.bottomRight; - equals(point.x, 10); - equals(point.y, 15); + comparePoints(point, { x: 10, y: 15 }); }); test('get bottomCenter', function() { var rect = new Rectangle(10, 10, 20, 20); var point = rect.bottomCenter; - equals(point.x, 20); - equals(point.y, 30); + comparePoints(point, { x: 20, y: 30 }); }); test('set bottomCenter', function() { var rect = new Rectangle(10, 10, 20, 20); rect.bottomCenter = [10, 15]; var point = rect.bottomCenter; - equals(point.x, 10); - equals(point.y, 15); + comparePoints(point, { x: 10, y: 15 }); }); test('get topCenter', function() { var rect = new Rectangle(10, 10, 20, 20); var point = rect.topCenter; - equals(point.x, 20); - equals(point.y, 10); + comparePoints(point, { x: 20, y: 10 }); }); test('set topCenter', function() { var rect = new Rectangle(10, 10, 20, 20); rect.topCenter = [10, 15]; var point = rect.topCenter; - equals(point.x, 10); - equals(point.y, 15); + comparePoints(point, { x: 10, y: 15 }); }); test('get leftCenter', function() { var rect = new Rectangle(10, 10, 20, 20); var point = rect.leftCenter; - equals(point.x, 10); - equals(point.y, 20); + comparePoints(point, { x: 10, y: 20 }); }); test('set leftCenter', function() { var rect = new Rectangle(10, 10, 20, 20); rect.leftCenter = [10, 15]; var point = rect.leftCenter; - equals(point.x, 10); - equals(point.y, 15); + comparePoints(point, { x: 10, y: 15 }); }); test('get rightCenter', function() { var rect = new Rectangle(10, 10, 20, 20); var point = rect.rightCenter; - equals(point.x, 30); - equals(point.y, 20); + comparePoints(point, { x: 30, y: 20 }); }); test('set rightCenter', function() { var rect = new Rectangle(10, 10, 20, 20); rect.rightCenter = [10, 15]; var point = rect.rightCenter; - equals(point.x, 10); - equals(point.y, 15); + comparePoints(point, { x: 10, y: 15 }); }); test('intersects(rect)', function() {