|
From: <acl...@us...> - 2006-10-14 00:04:43
|
Revision: 598
http://svn.sourceforge.net/asapframework/?rev=598&view=rev
Author: aclemens
Date: 2006-10-13 17:04:30 -0700 (Fri, 13 Oct 2006)
Log Message:
-----------
new tests
Modified Paths:
--------------
trunk/asapframework/tests/unit/includes/testlist.as
trunk/asapframework/tests/unit/tests/org/asapframework/util/PointUtilsTest.as
Added Paths:
-----------
trunk/asapframework/tests/unit/tests/org/asapframework/util/RectangleUtilsTest.as
trunk/asapframework/tests/unit/tests/org/asapframework/util/WatcherTest.as
trunk/asapframework/tests/unit/tests/org/asapframework/util/types/
trunk/asapframework/tests/unit/tests/org/asapframework/util/types/PointTest.as
trunk/asapframework/tests/unit/tests/org/asapframework/util/types/RectangleTest.as
Modified: trunk/asapframework/tests/unit/includes/testlist.as
===================================================================
--- trunk/asapframework/tests/unit/includes/testlist.as 2006-10-14 00:03:14 UTC (rev 597)
+++ trunk/asapframework/tests/unit/includes/testlist.as 2006-10-14 00:04:30 UTC (rev 598)
@@ -8,4 +8,12 @@
org.asapframework.util.NumberUtilsTest; // complete
org.asapframework.util.StringUtilsTest; // TODO: format, capitalizeChar, capitalizeString, capitalizeWords, validateEmail
org.asapframework.util.MovieClipUtilsTest; // complete
-org.asapframework.util.PointUtilsTest; // complete
\ No newline at end of file
+org.asapframework.util.PointUtilsTest; // complete
+org.asapframework.util.RectangleUtilsTest; // complete
+
+// util.types
+org.asapframework.util.types.PointTest; // complete
+org.asapframework.util.types.RectangleTest; // complete
+
+// util.watch
+//org.asapframework.util.WatcherTest; // in progress
\ No newline at end of file
Modified: trunk/asapframework/tests/unit/tests/org/asapframework/util/PointUtilsTest.as
===================================================================
--- trunk/asapframework/tests/unit/tests/org/asapframework/util/PointUtilsTest.as 2006-10-14 00:03:14 UTC (rev 597)
+++ trunk/asapframework/tests/unit/tests/org/asapframework/util/PointUtilsTest.as 2006-10-14 00:04:30 UTC (rev 598)
@@ -45,137 +45,5 @@
assertTrue("PointTest Test average 2 x", averagePoint.x == 50);
assertTrue("PointTest Test average 2 y", averagePoint.y == -50);
}
- /*
- // Point constructor (default values)
- var point:Point = new Point();
- assertTrue("PointTest Test initial default x", point.x == undefined);
- assertTrue("PointTest Test initial default y", point.y == undefined);
- delete point;
-
- // Point constructor (set values)
- var point:Point = new Point(3,4);
- assertTrue("PointTest Test initial set x", point.x == 3);
- assertTrue("PointTest Test initial set y", point.y == 4);
- delete point;
-
- //setting public vars
- var point:Point = new Point(3,4);
- point.x *= 100;
- point.y *= 100;
- assertTrue("PointTest Test set x", point.x == 300);
- assertTrue("PointTest Test set y", point.y == 400);
- delete point;
-
- // distance
- var point1:Point = new Point(0,0);
- var point2:Point = new Point(300,400);
- assertTrue("PointTest Test distance", Point.distance(point1, point2) == 500);
- point2.x = point2.y = 0;
- assertTrue("PointTest Test distance", Point.distance(point1, point2) == 0);
- delete point1;
- delete point2;
-
- // clone
- var point:Point = new Point(-1000,-2000);
- var clone:Point = point.clone();
- assertTrue("PointTest Point clone instantiated", clone instanceof Point);
- assertTrue("PointTest Test clone x", point.x == -1000);
- assertTrue("PointTest Test clone y", point.y == -2000);
- //equals
- assertTrue("PointTest Test point equals clone", point.equals(clone));
- delete point;
- delete clone;
-
- // offset
- var point:Point = new Point(0,0);
- point.offset(-100,-100);
- assertTrue("PointTest Test offset x", point.x == -100);
- assertTrue("PointTest Test offset y", point.y == -100);
- delete point;
-
- // subtract
- var point:Point = new Point(100,100);
- var subtractPoint:Point = new Point(0,10);
- var resultPoint:Point = point.subtract(subtractPoint);
- assertTrue("PointTest Test subtracted x", resultPoint.x == 100);
- assertTrue("PointTest Test subtracted y", resultPoint.y == 90);
- delete point;
- delete subtractPoint;
- delete resultPoint;
-
- // addPoint
- var point:Point = new Point(0,0);
- var addPoint:Point = new Point(1.5, 2.5);
- var resultPoint:Point = point.addPoint(addPoint);
- assertTrue("PointTest Test added x 1", resultPoint.x == 1.5);
- assertTrue("PointTest Test added y 1", resultPoint.y == 2.5);
- delete point;
- delete addPoint;
- delete resultPoint;
- var point:Point = new Point(10, 20);
- var resultPoint:Point = point.addPoint(new Point(20,10));
- assertTrue("PointTest Test added x 2", resultPoint.x == 30);
- assertTrue("PointTest Test added y 2", resultPoint.y == 30);
- delete point;
- delete addPoint;
- delete resultPoint;
-
- // normalize
- var point:Point = new Point(1000,500);
- point.normalize(1.0);
- assertTrue("PointTest Test normalized x", point.x == 1.0);
- assertTrue("PointTest Test normalized y", point.y == .5);
- delete point;
- var point:Point = new Point(0,0);
- point.normalize(0);
- assertTrue("PointTest Test normalized x", point.x == 0);
- assertTrue("PointTest Test normalized y", point.y == 0);
- delete point;
- var point:Point = new Point(-100,-200);
- point.normalize(10);
- assertTrue("PointTest Test normalized x", point.x == -5);
- assertTrue("PointTest Test normalized y", point.y == -10);
- delete point;
-
- // multiply
- var point:Point = new Point(100,200);
- var multiplyPoint:Point = point.multiply(0);
- assertTrue("PointTest Test multiplied 1 x", multiplyPoint.x == 0);
- assertTrue("PointTest Test multiplied 1 y", multiplyPoint.y == 0);
- delete point;
- delete multiplyPoint;
- var point:Point = new Point(100,200);
- var multiplyPoint:Point = point.multiply(0.5);
- assertTrue("PointTest Test multiplied 2 x", multiplyPoint.x == 50);
- assertTrue("Test multiplied 2 y", multiplyPoint.y == 100);
- delete point;
- delete multiplyPoint;
- var point:Point = new Point(100,200);
- var multiplyPoint:Point = point.multiply(-10);
- assertTrue("PointTest Test multiplied 2 x", multiplyPoint.x == -1000);
- assertTrue("PointTest Test multiplied 2 y", multiplyPoint.y == -2000);
- delete point;
- delete multiplyPoint;
-
- // average
- var point1:Point = new Point(0,0);
- var point2:Point = new Point(100,100);
- var averagePoint = PointUtils.average(point1, point2);
- assertTrue("PointTest Test average 1 x", averagePoint.x == 50);
- assertTrue("PointTest Test average 1 y", averagePoint.y == 50);
- delete point1;
- delete point2;
- delete averagePoint;
- //
- var point1:Point = new Point(100,-100);
- var point2:Point = new Point(0,0);
- var averagePoint = PointUtils.average(point1, point2);
- assertTrue("PointTest Test average 2 x", averagePoint.x == 50);
- assertTrue("PointTest Test average 2 y", averagePoint.y == -50);
- delete point1;
- delete point2;
- delete averagePoint;
- }
- */
}
Added: trunk/asapframework/tests/unit/tests/org/asapframework/util/RectangleUtilsTest.as
===================================================================
--- trunk/asapframework/tests/unit/tests/org/asapframework/util/RectangleUtilsTest.as (rev 0)
+++ trunk/asapframework/tests/unit/tests/org/asapframework/util/RectangleUtilsTest.as 2006-10-14 00:04:30 UTC (rev 598)
@@ -0,0 +1,163 @@
+// testlib classes
+import org.as2lib.test.unit.TestCase;
+import org.as2lib.test.mock.MockControl;
+
+// Adobe classes
+//import flash.geom.*;
+// Still support Flash 7:
+import org.asapframework.util.types.*;
+
+// ASAP classes
+import org.asapframework.util.*;
+
+
+class org.asapframework.util.RectangleUtilsTest extends TestCase {
+
+ public function testGetCenter () : Void {
+ var rect:Rectangle = new Rectangle(0,0,0,0);
+ var center:Point = RectangleUtils.getCenter(rect);
+ assertTrue("RectangleUtilsTest testGetCenter center.x 1", (center.x == 0));
+ assertTrue("RectangleUtilsTest testGetCenter center.y 1", (center.y == 0));
+
+ var rect:Rectangle = new Rectangle(0,0,1,1);
+ var center:Point = RectangleUtils.getCenter(rect);
+ assertTrue("RectangleUtilsTest testGetCenter center.x 2", (center.x == .5));
+ assertTrue("RectangleUtilsTest testGetCenter center.y 2", (center.y == .5));
+
+ var rect:Rectangle = new Rectangle(1,2,4,8);
+ var center:Point = RectangleUtils.getCenter(rect);
+ assertTrue("RectangleUtilsTest testGetCenter center.x 2", (center.x == 3));
+ assertTrue("RectangleUtilsTest testGetCenter center.y 2", (center.y == 6));
+ }
+
+ public function testSetCenter () : Void {
+ var rect:Rectangle = new Rectangle(0,0,10,10);
+ RectangleUtils.setCenter(rect, new Point(0,0));
+ var center:Point = RectangleUtils.getCenter(rect);
+ assertTrue("RectangleUtilsTest testSetCenter left", (rect.left == -5));
+ assertTrue("RectangleUtilsTest testSetCenter top", (rect.top == -5));
+ assertTrue("RectangleUtilsTest testSetCenter center.x", (center.x == 0));
+ assertTrue("RectangleUtilsTest testSetCenter center.y", (center.y == 0));
+ }
+
+ public function testRectOfMovieClip () : Void {
+ var mc:MovieClip = _level0.createEmptyMovieClip("testRectOfMovieClip", _level0.getNextHighestDepth());
+ mc._x = 20;
+ mc._y = 10;
+ var width:Number = 100;
+ var height:Number = 60;
+ var edgeX:Number = width/2;
+ var edgeY:Number = height/2;
+ var col:Number = 0xff0000;
+ MovieClipUtils.drawBox(mc, -edgeX, -edgeY, edgeX, edgeY, [0, col, 100], []);
+ var rect:Rectangle = RectangleUtils.rectOfMovieClip(mc);
+ assertTrue("RectangleUtilsTest testRectOfMovieClip left", (rect.left == -50));
+ assertTrue("RectangleUtilsTest testRectOfMovieClip top", (rect.top == -30));
+ assertTrue("RectangleUtilsTest testRectOfMovieClip right", (rect.right == 50));
+ assertTrue("RectangleUtilsTest testRectOfMovieClip bottom", (rect.bottom == 30));
+ mc.removeMovieClip();
+ }
+
+ public function testBoundsOfMovieClip () : Void {
+ var mc:MovieClip = _level0.createEmptyMovieClip("testBoundsOfMovieClip", _level0.getNextHighestDepth());
+ mc._x = 20;
+ mc._y = 10;
+ var width:Number = 100;
+ var height:Number = 60;
+ var edgeX:Number = width/2;
+ var edgeY:Number = height/2;
+ var col:Number = 0xff0000;
+ MovieClipUtils.drawBox(mc, -edgeX, -edgeY, edgeX, edgeY, [0, col, 100], []);
+ var rect:Rectangle = RectangleUtils.boundsOfMovieClip(mc);
+ assertTrue("RectangleUtilsTest testBoundsOfMovieClip left", (rect.left == -50 + 20));
+ assertTrue("RectangleUtilsTest testBoundsOfMovieClip top", (rect.top == -30 + 10));
+ assertTrue("RectangleUtilsTest testBoundsOfMovieClip right", (rect.right == 50 + 20));
+ assertTrue("RectangleUtilsTest testBoundsOfMovieClip bottom", (rect.bottom == 30 + 10));
+ mc.removeMovieClip();
+ }
+
+ public function testSetToBounds () : Void {
+ var mc:MovieClip = _level0.createEmptyMovieClip("testSetToBounds", _level0.getNextHighestDepth());
+ var width:Number = 100;
+ var height:Number = 60;
+ var col:Number = 0xff0000;
+ MovieClipUtils.drawBox(mc, 0, 0, width, height, [0, col, 100], []);
+ var bounds:Rectangle = new Rectangle(100,100,30,20);
+ RectangleUtils.setToBounds(mc, bounds);
+ var rect:Rectangle = RectangleUtils.boundsOfMovieClip(mc);
+ assertTrue("RectangleUtilsTest testSetToBounds left", (rect.left == 100));
+ assertTrue("RectangleUtilsTest testSetToBounds top", (rect.top == 100));
+ assertTrue("RectangleUtilsTest testSetToBounds right", (rect.right == 130));
+ assertTrue("RectangleUtilsTest testSetToBounds bottom", (rect.bottom == 120));
+ mc.removeMovieClip();
+ }
+
+ public function testCenterPointOfMovieClip () : Void {
+ var mc:MovieClip = _level0.createEmptyMovieClip("testCenterPointOfMovieClip", _level0.getNextHighestDepth());
+ mc._x = 200;
+ mc._y = 100;
+ var width:Number = 100;
+ var height:Number = 60;
+ var col:Number = 0xff0000;
+ MovieClipUtils.drawBox(mc, 0, 0, width, height, [0, col, 100], []);
+
+ var centerOfBounds:Point = RectangleUtils.centerPointOfMovieClip(mc);
+ assertTrue("RectangleUtilsTest testCenterPointOfMovieClip centerOfBounds.x", (centerOfBounds.x == 250));
+ assertTrue("RectangleUtilsTest testCenterPointOfMovieClip centerOfBounds.y", (centerOfBounds.y == 130));
+
+ var centerOfRect:Point = RectangleUtils.centerPointOfMovieClip(mc, mc);
+ assertTrue("RectangleUtilsTest testCenterPointOfMovieClip centerOfRect.x", (centerOfRect.x == 50));
+ assertTrue("RectangleUtilsTest testCenterPointOfMovieClip centerOfRect.y", (centerOfRect.y == 30));
+
+ mc.removeMovieClip();
+ }
+
+ public function testCenterToRectangle () : Void {
+ var rect1:Rectangle = new Rectangle(0,0,20,20);
+ var rect2:Rectangle = new Rectangle(50,50,40,40);
+
+ var mc1:MovieClip = _level0.createEmptyMovieClip("testCenterToRectangle1", _level0.getNextHighestDepth());
+ MovieClipUtils.drawBox(mc1, rect1.left, rect1.top, rect1.right, rect1.bottom, [0, 0xff0000, 100], []);
+
+ var mc2:MovieClip = _level0.createEmptyMovieClip("testCenterToRectangle2", _level0.getNextHighestDepth());
+ MovieClipUtils.drawBox(mc2, rect2.left, rect2.top, rect2.right, rect2.bottom, [0, 0x000099, 100], []);
+
+ RectangleUtils.centerToRectangle(rect1, rect2);
+
+ var mc3:MovieClip = _level0.createEmptyMovieClip("testCenterToRectangle3", _level0.getNextHighestDepth());
+ MovieClipUtils.drawBox(mc3, rect1.left, rect1.top, rect1.right, rect1.bottom, [0, 0x009900, 100], []);
+
+ assertTrue("RectangleUtilsTest testCenterToRectangle left", (rect1.left == 60));
+ assertTrue("RectangleUtilsTest testCenterToRectangle top", (rect1.top == 60));
+
+ mc1.removeMovieClip();
+ mc2.removeMovieClip();
+ mc3.removeMovieClip();
+ }
+
+ public function testFlattenHeight () : Void {
+ var rect1:Rectangle = new Rectangle(0,0,40,40);
+ RectangleUtils.flattenHeight(rect1, 1);
+
+ assertTrue("RectangleUtilsTest testFlattenHeight 1 top", (rect1.top == 19.5));
+ assertTrue("RectangleUtilsTest testFlattenHeight 1 height", (rect1.height == 1));
+
+ var rect2:Rectangle = new Rectangle(0,0,40,40);
+ RectangleUtils.flattenHeight(rect1, 40);
+ assertTrue("RectangleUtilsTest testFlattenHeight 2 top", (rect1.top == 0));
+ assertTrue("RectangleUtilsTest testFlattenHeight 2 height", (rect1.height == 40));
+ }
+
+ public function testFlattenWidth () : Void {
+ var rect1:Rectangle = new Rectangle(0,0,40,40);
+ RectangleUtils.flattenWidth(rect1, 1);
+ assertTrue("RectangleUtilsTest testFlattenWidth 1 top", (rect1.left == 19.5));
+ assertTrue("RectangleUtilsTest testFlattenWidth 1 height", (rect1.width == 1));
+
+ var rect2:Rectangle = new Rectangle(0,0,40,40);
+ RectangleUtils.flattenWidth(rect1, 40);
+ assertTrue("RectangleUtilsTest testFlattenWidth 2 top", (rect1.left == 0));
+ assertTrue("RectangleUtilsTest testFlattenWidth 2 height", (rect1.width == 40));
+ }
+
+}
Added: trunk/asapframework/tests/unit/tests/org/asapframework/util/WatcherTest.as
===================================================================
--- trunk/asapframework/tests/unit/tests/org/asapframework/util/WatcherTest.as (rev 0)
+++ trunk/asapframework/tests/unit/tests/org/asapframework/util/WatcherTest.as 2006-10-14 00:04:30 UTC (rev 598)
@@ -0,0 +1,177 @@
+// testlib classes
+import org.as2lib.test.unit.TestCase;
+import org.as2lib.test.mock.MockControl;
+
+// ASAP classes
+import org.asapframework.util.watch.Watcher;
+import org.asapframework.util.FrameDelay;
+import org.asapframework.util.MovieClipUtils;
+import org.asapframework.util.actionqueue.ActionQueue;
+import org.asapframework.util.actionqueue.AQFade;
+
+
+class org.asapframework.util.WatcherTest extends TestCase {
+
+ private static var sCounter1:Number = 0;
+ private static var RESULT_COUNTER_1:Number = 1;
+
+ private static var sCounter2:Number = 0;
+ private static var RESULT_COUNTER_2:Number = 1;
+
+ private static var sCounter3:Number = 0; // for test 3
+ private static var sValue5:Number = 0; // for test 5
+
+
+
+ /**
+ Test function call.
+ Test isBusy()
+ */
+ public function testIsBusy () : Void {
+ var family:Object = new Object();
+ family.memberCount = 2;
+ family.birth = function () {
+ family.memberCount++;
+ }
+ family.getMemberCount = function () {
+ return family.memberCount;
+ }
+ var birthControl:Object = new Object();
+ birthControl.act = function () {
+ sCounter1++;
+ }
+
+ var watcher:Watcher = new Watcher(family, "getMemberCount", 5, 1/31);
+ watcher.setAfterMethod(birthControl, "act", true);
+ watcher.start();
+
+ family.birth();
+ assertTrue("WatcherTest doTest1 isBusy 1", watcher.isBusy());
+ family.birth();
+ family.birth();
+ new FrameDelay(this, evaluateWatcher1, [true, watcher], 20 );
+ }
+
+ /**
+ As test 1 but now with function reference and parameters
+ */
+ public function testIsBusyWithFunctionReferences () : Void {
+
+ var family:Object = new Object();
+ family.memberCount = 2;
+ family.birth = function () {
+ family.memberCount++;
+ }
+ family.toString = function () { return "family"; }
+ family.getMemberCount = function (inCheck:String) {
+ if (inCheck == "thewholelot") {
+ return this.memberCount;
+ }
+ return 0;
+ }
+ var birthControl:Object = new Object();
+ birthControl.act = function () {
+ sCounter2++;
+ }
+
+ var watcher:Watcher = new Watcher(family, family.getMemberCount, 5, 1/31, true, "thewholelot");
+ watcher.setAfterMethod(birthControl, birthControl.act, true);
+ watcher.start();
+
+ family.birth();
+ assertTrue("WatcherTest doTest2 isBusy 1", watcher.isBusy());
+ family.birth();
+ family.birth();
+ new FrameDelay(this, evaluateWatcher2, [true, watcher], 20 );
+ }
+
+ /**
+ Test a variable watch
+ */
+ public function testVariable () : Void {
+
+ var mc:MovieClip = _level0.createEmptyMovieClip("WatcherTest_doTest3_box", _level0.getNextHighestDepth());
+ MovieClipUtils.drawBox(mc, 0, 0, 100, 50, [0, 0xff0000, 100]);
+ mc._x = 100;
+ mc._y = 100;
+
+ var watcher:Watcher = new Watcher(mc, "_alpha", 0, 1/31);
+ watcher.setAfterMethod(this, "test2AfterZero", true);
+ watcher.start();
+
+ var queue:ActionQueue = new ActionQueue();
+ queue.addAction( AQFade.fade, mc, 1, null, 0 );
+ queue.addPause(1);
+ queue.addAction( this, "evaluateWatcher3", 1, true );
+ queue.run();
+ }
+
+ /**
+ Start and stopping
+ */
+ public function testStartStopRestart () : Void {
+ var watcher:Watcher = new Watcher(null, null, null, 1/12);
+ assertFalse("WatcherTest doTest4 isBusy 1", watcher.isBusy());
+ watcher.start();
+ assertTrue("WatcherTest doTest4 isBusy 2", watcher.isBusy());
+ watcher.stop();
+ assertFalse("WatcherTest doTest4 isBusy 3", watcher.isBusy());
+ watcher.restart();
+ assertTrue("WatcherTest doTest4 isBusy 4", watcher.isBusy());
+ watcher.stop();
+ assertFalse("WatcherTest doTest4 isBusy 5", watcher.isBusy());
+ }
+
+ /**
+ Callback
+ */
+ public function testSetCallback () : Void {
+
+ var mc:MovieClip = _level0.createEmptyMovieClip("WatcherTest_doTest5_box", _level0.getNextHighestDepth());
+ MovieClipUtils.drawBox(mc, 0, 0, 100, 50, [0, 0xff0000, 100]);
+ mc._x = 300;
+ mc._y = 100;
+
+ var watcher:Watcher = new Watcher(mc, "_alpha", 0, 1/31);
+ watcher.setCallback(this, "doTest5Callback");
+ watcher.start();
+
+ var queue:ActionQueue = new ActionQueue();
+ queue.addAction( AQFade.fade, mc, 1, null, 0 );
+ queue.addPause(1);
+ queue.addAction( this, "evaluateWatcher5", 0, true );
+ queue.run();
+ }
+
+ /**
+
+ */
+ private function evaluateWatcher1 (inWatcher:Watcher) : Void {
+ assertTrue("WatcherTest evaluateWatcher1", sCounter1 == RESULT_COUNTER_1);
+ assertFalse("WatcherTest doTest1 isBusy 2", inWatcher.isBusy());
+ }
+
+ /**
+
+ */
+ private function evaluateWatcher2 (inWatcher:Watcher) : Void {
+ assertTrue("WatcherTest evaluateWatcher2", sCounter2 == RESULT_COUNTER_2);
+ assertFalse("WatcherTest doTest2 isBusy 2", inWatcher.isBusy());
+ }
+
+
+ /**
+
+ */
+ public function doTest5Callback (inAlpha:Number) : Void {
+ sValue5 = inAlpha;
+ }
+
+ /**
+
+ */
+ public function evaluateWatcher5 (inValue:Number, inResult:Boolean) : Void {
+ var result:Boolean = (inValue == sValue5);
+ assertTrue("WatcherTest evaluateWatcher5", result == inResult);
+ }
+}
Added: trunk/asapframework/tests/unit/tests/org/asapframework/util/types/PointTest.as
===================================================================
--- trunk/asapframework/tests/unit/tests/org/asapframework/util/types/PointTest.as (rev 0)
+++ trunk/asapframework/tests/unit/tests/org/asapframework/util/types/PointTest.as 2006-10-14 00:04:30 UTC (rev 598)
@@ -0,0 +1,104 @@
+// testlib classes
+import org.as2lib.test.unit.TestCase;
+import org.as2lib.test.mock.MockControl;
+
+// ASAP classes
+import org.asapframework.util.types.*;
+import org.asapframework.util.*;
+
+
+class org.asapframework.util.types.PointTest extends TestCase {
+
+ public function testNew () : Void {
+ var point:Point = new Point();
+ assertTrue("PointTest initial default x", point.x == undefined);
+ assertTrue("PointTest initial default y", point.y == undefined);
+ delete point;
+
+ // Point constructor (set values)
+ var point:Point = new Point(3,4);
+ assertTrue("PointTest initial set x", point.x == 3);
+ assertTrue("PointTest initial set y", point.y == 4);
+ }
+
+ public function testVars () : Void {
+ var point:Point = new Point(3,4);
+ point.x *= 100;
+ point.y *= 100;
+ assertTrue("PointTest Test set x", point.x == 300);
+ assertTrue("PointTest Test set y", point.y == 400);
+ }
+
+ public function testDistance () : Void {
+ var point1:Point = new Point(0,0);
+ var point2:Point = new Point(300,400);
+ assertTrue("PointTest Test distance", Point.distance(point1, point2) == 500);
+ point2.x = point2.y = 0;
+ assertTrue("PointTest Test distance", Point.distance(point1, point2) == 0);
+ }
+
+ public function testClone () : Void {
+ // clone
+ var point:Point = new Point(-1000,-2000);
+ var clone:Point = point.clone();
+ assertTrue("PointTest clone x", point.x == -1000);
+ assertTrue("PointTest clone y", point.y == -2000);
+ }
+
+ public function testEquals () : Void {
+ var point1:Point = new Point(-1000,-2000);
+ var point2:Point = new Point(-1000,-2000);
+ assertTrue("PointTest point equals clone", point1.equals(point2));
+ var point3:Point = new Point(0,0);
+ assertFalse("PointTest point equals clone", point1.equals(point3));
+ }
+
+ public function testOffset () : Void {
+ // offset
+ var point:Point = new Point(0,0);
+ point.offset(-100,-100);
+ assertTrue("PointTest offset x", point.x == -100);
+ assertTrue("PointTest offset y", point.y == -100);
+ }
+
+ public function testSubtract () : Void {
+ var point:Point = new Point(100,100);
+ var subtractPoint:Point = new Point(0,10);
+ var resultPoint:Point = point.subtract(subtractPoint);
+ assertTrue("PointTest subtracted x", resultPoint.x == 100);
+ assertTrue("PointTest subtracted y", resultPoint.y == 90);
+ }
+
+ public function testAddPoint () : Void {
+ var point:Point = new Point(0,0);
+ var addPoint:Point = new Point(1.5, 2.5);
+ var resultPoint:Point = point.addPoint(addPoint);
+ assertTrue("PointTest added x 1", resultPoint.x == 1.5);
+ assertTrue("PointTest added y 1", resultPoint.y == 2.5);
+ delete point;
+ delete addPoint;
+ delete resultPoint;
+ var point:Point = new Point(10, 20);
+ var resultPoint:Point = point.addPoint(new Point(20,10));
+ assertTrue("PointTest added x 2", resultPoint.x == 30);
+ assertTrue("PointTest added y 2", resultPoint.y == 30);
+ }
+
+ public function testNormalize () : Void {
+ var point:Point = new Point(1000,500);
+ point.normalize(1.0);
+ assertTrue("PointTest normalized x", point.x == 1.0);
+ assertTrue("PointTest normalized y", point.y == .5);
+ delete point;
+ var point:Point = new Point(0,0);
+ point.normalize(0);
+ assertTrue("PointTest normalized x", point.x == 0);
+ assertTrue("PointTest normalized y", point.y == 0);
+ delete point;
+ var point:Point = new Point(-100,-200);
+ point.normalize(10);
+ assertTrue("PointTest normalized x", point.x == -5);
+ assertTrue("PointTest normalized y", point.y == -10);
+ }
+
+}
Added: trunk/asapframework/tests/unit/tests/org/asapframework/util/types/RectangleTest.as
===================================================================
--- trunk/asapframework/tests/unit/tests/org/asapframework/util/types/RectangleTest.as (rev 0)
+++ trunk/asapframework/tests/unit/tests/org/asapframework/util/types/RectangleTest.as 2006-10-14 00:04:30 UTC (rev 598)
@@ -0,0 +1,292 @@
+// testlib classes
+import org.as2lib.test.unit.TestCase;
+import org.as2lib.test.mock.MockControl;
+
+// ASAP classes
+import org.asapframework.util.types.*;
+import org.asapframework.util.*;
+
+
+class org.asapframework.util.types.RectangleTest extends TestCase {
+
+ public function testNew () : Void {
+ // Rectangle constructor (default values)
+ var rectangle:Rectangle = new Rectangle();
+ assertTrue("Test initial default x", rectangle.x == 0);
+ assertTrue("Test initial default y", rectangle.y == 0);
+ assertTrue("Test initial default width", rectangle.width == 0);
+ assertTrue("Test initial default height", rectangle.height == 0);
+ delete rectangle;
+
+ // Rectangle constructor (set values)
+ var rectangle:Rectangle = new Rectangle(-50,-50,100,100);
+ assertTrue("Test initial set x", rectangle.x == -50);
+ assertTrue("Test initial set y", rectangle.y == -50);
+ assertTrue("Test initial set width", rectangle.width == 100);
+ assertTrue("Test initial set height", rectangle.height == 100);
+ }
+
+ public function testBottom () : Void {
+ var rectangle:Rectangle = new Rectangle(0,0,100,100);
+ assertTrue("Test get bottom", rectangle.bottom == 100);
+ rectangle.bottom = 50;
+ assertTrue("Test set bottom", rectangle.bottom == 50);
+ }
+
+ public function testBottomRight () : Void {
+ var rectangle:Rectangle = new Rectangle(1,2,4,8);
+ assertTrue("Test get bottomRight bottom", rectangle.bottom == 10);
+ assertTrue("Test get bottomRight right", rectangle.right == 5);
+ assertTrue("Test get bottomRight height", rectangle.height == 8);
+ assertTrue("Test get bottomRight width", rectangle.width == 4);
+ var myBottomRight:Point = new Point(16, 32);
+ rectangle.bottomRight = myBottomRight;
+ assertTrue("Test set bottomRight bottom", rectangle.bottom == 32);
+ assertTrue("Test set bottomRight right", rectangle.right == 16);
+ assertTrue("Test set bottomRight height", rectangle.height == 30);
+ assertTrue("Test set bottomRight width", rectangle.width == 15);
+ }
+
+ public function testHeight () : Void {
+ var rectangle:Rectangle = new Rectangle(0,0,10,20);
+ assertTrue("Test get height", rectangle.height == 20);
+ rectangle.height = 40;
+ assertTrue("Test set height", rectangle.height == 40);
+ }
+
+ public function testLeft () : Void {
+ var rectangle:Rectangle = new Rectangle(-10,0,100,100);
+ assertTrue("Test get left", rectangle.left == -10);
+ rectangle.left = 0;
+ assertTrue("Test set left", rectangle.left == 0);
+ }
+
+ public function testRight () : Void {
+ var rectangle:Rectangle = new Rectangle(-10,0,100,100);
+ assertTrue("Test get right", rectangle.right == 90);
+ rectangle.right = 45;
+ assertTrue("Test set right", rectangle.right == 45);
+ delete rectangle;
+ var rectangle:Rectangle = new Rectangle(-10,0,100,100);
+ rectangle.size = new Point(10,10);
+ assertTrue("Test set right (after set size)", rectangle.right == 0);
+ delete rectangle;
+ }
+
+ public function testSize () : Void {
+ var rectangle:Rectangle = new Rectangle(1, 2, 4, 8);
+ var size:Point = rectangle.size;
+ assertTrue("Test get size x", size.x == 4);
+ assertTrue("Test get size y", size.y == 8);
+ size.x = 16;
+ size.y = 32;
+ rectangle.size = size;
+ assertTrue("Test set size x", rectangle.x == 1);
+ assertTrue("Test set size y", rectangle.y == 2);
+ assertTrue("Test set size width", rectangle.width == 16);
+ assertTrue("Test set size height", rectangle.height == 32);
+ }
+
+ public function testTop () : Void {
+ var rectangle:Rectangle = new Rectangle(-1,0,1,1);
+ assertTrue("Test get top", rectangle.top == 0);
+ rectangle.top = -1;
+ assertTrue("Test set top", rectangle.top == -1);
+ rectangle.size = new Point(20,20);
+ assertTrue("Test set top (after set size)", rectangle.top == -1);
+ delete rectangle;
+ }
+
+ public function testTopLeft () : Void {
+ var rectangle:Rectangle = new Rectangle(0,0,100,100);
+ assertTrue("Test get topLeft x", rectangle.topLeft.x == 0);
+ assertTrue("Test get topLeft y", rectangle.topLeft.y == 0);
+ rectangle.topLeft = new Point(25,50);
+ assertTrue("Test set bottomRight x", rectangle.topLeft.x == 25);
+ assertTrue("Test set bottomRight y", rectangle.topLeft.y == 50);
+ }
+
+ public function testWidth () : Void {
+ var rectangle:Rectangle = new Rectangle(0,0,10,20);
+ assertTrue("Test get width", rectangle.width == 10);
+ rectangle.width = 100;
+ assertTrue("Test set width", rectangle.width == 100);
+ rectangle.size = new Point(20,20);
+ assertTrue("Test set width (after set size)", rectangle.width == 20);
+ delete rectangle;
+ }
+
+ public function testX () : Void {
+ var rectangle:Rectangle = new Rectangle(1,2,4,8);
+ assertTrue("Test get x", rectangle.x == 1);
+ assertTrue("Test get x width", rectangle.width == 4);
+ rectangle.x = 0;
+ assertTrue("Test set x", rectangle.x == 0);
+ assertTrue("Test set x width", rectangle.right == 4);
+ rectangle.size = new Point(20,20);
+ assertTrue("Test set x (after set size)", rectangle.x == 0);
+ }
+
+ public function testY () : Void {
+ var rectangle:Rectangle = new Rectangle(1,2,4,8);
+ assertTrue("Test get y", rectangle.y == 2);
+ assertTrue("Test get y height", rectangle.height == 8);
+ rectangle.y = 0;
+ assertTrue("Test set y", rectangle.y == 0);
+ assertTrue("Test set y height", rectangle.height == 8);
+ rectangle.size = new Point(20,20);
+ assertTrue("Test set y (after set size)", rectangle.y == 0);
+ }
+
+ public function testClone () : Void {
+ var rectangle:Rectangle = new Rectangle(10,20,100,200);
+ var clone:Rectangle = rectangle.clone();
+ assertTrue("Rectangle clone instantiated", clone instanceof Rectangle);
+ assertTrue("Test clone x", rectangle.x == 10);
+ assertTrue("Test clone y", rectangle.y == 20);
+ assertTrue("Test clone width", rectangle.width == 100);
+ assertTrue("Test clone height", rectangle.height == 200);
+ //equals
+ assertTrue("Test rectangle equals clone", rectangle.equals(clone));
+ }
+
+ public function testContains () : Void {
+ var rectangle:Rectangle = new Rectangle(10, 10, 50, 50);
+ assertTrue("Test contains 1", rectangle.contains(59,59));
+ assertTrue("Test contains 2", rectangle.contains(10,10));
+ assertFalse("Test contains 3", rectangle.contains(60,60));
+ }
+
+ public function testContainsPoint () : Void {
+ var rectangle:Rectangle = new Rectangle(10, 10, 50, 50);
+ assertTrue("Test containsPoint 1", rectangle.containsPoint(new Point(59,59)));
+ assertTrue("Test containsPoint 2", rectangle.containsPoint(new Point(10,10)));
+ assertFalse("Test containsPoint 3", rectangle.containsPoint(new Point(60,60)));
+ }
+
+ public function testContainsRectangle () : Void {
+ var rectA:Rectangle = new Rectangle(10, 10, 50, 50);
+ var rectB:Rectangle = new Rectangle(10, 10, 50, 50);
+ var rectC:Rectangle = new Rectangle(10, 10, 51, 51);
+ var rectD:Rectangle = new Rectangle(15, 15, 45, 45);
+ assertTrue("Test containsRectangle 1", rectA.containsRectangle(rectB));
+ assertFalse("Test containsRectangle 2", rectA.containsRectangle(rectC));
+ assertTrue("Test containsRectangle 3", rectA.containsRectangle(rectD));
+ }
+
+ public function testInflate () : Void {
+ var rectangle:Rectangle = new Rectangle(1, 2, 4, 8);
+ rectangle.inflate(16, 32);
+ assertTrue("Test inflate x", rectangle.x == -15);
+ assertTrue("Test inflate y", rectangle.y == -30);
+ assertTrue("Test inflate width", rectangle.width == 36);
+ assertTrue("Test inflate height", rectangle.height == 72);
+ }
+
+ public function testInflatePoint () : Void {
+ var rectangle:Rectangle = new Rectangle(0, 0, 2, 5);
+ var myPoint:Point = new Point(2, 2);
+ rectangle.inflatePoint(myPoint);
+ assertTrue("Test inflatePoint x", rectangle.x == -2);
+ assertTrue("Test inflatePoint y", rectangle.y == -2);
+ assertTrue("Test inflatePoint width", rectangle.width == 6);
+ assertTrue("Test inflatePoint height", rectangle.height == 9);
+ }
+
+ public function testIntersection () : Void {
+ var rectangle1:Rectangle = new Rectangle(0, 0, 50, 50);
+ var rectangle2:Rectangle = new Rectangle(25, 25, 100, 100);
+ var intersectingArea:Rectangle = rectangle1.intersection(rectangle2);
+ assertFalse("Test intersection non-empty", intersectingArea.isEmpty());
+ assertTrue("Test intersection x", intersectingArea.x == 25);
+ assertTrue("Test intersection y", intersectingArea.y == 25);
+ assertTrue("Test intersection width", intersectingArea.width == 25);
+ assertTrue("Test intersection height", intersectingArea.height == 25);
+ delete rectangle1;
+ delete rectangle2;
+ delete intersectingArea;
+ // test empty intersection
+ var rectangle1:Rectangle = new Rectangle(0, 0, 25, 25);
+ var rectangle2:Rectangle = new Rectangle(50, 50, 25, 25);
+ var intersectingArea:Rectangle = rectangle1.intersection(rectangle2);
+ assertTrue("Test test empty intersection (intersection empty)", intersectingArea.isEmpty());
+ delete rectangle1;
+ delete rectangle2;
+ delete intersectingArea;
+ // test totally overlap
+ var rectangle1:Rectangle = new Rectangle(0, 0, 25, 25);
+ var rectangle2:Rectangle = new Rectangle(10, 10, 5, 5);
+ var intersectingArea:Rectangle = rectangle1.intersection(rectangle2);
+ assertFalse("Test totally overlap (intersection empty)", intersectingArea.isEmpty());
+ assertTrue("Test intersection x", intersectingArea.x == 10);
+ assertTrue("Test intersection y", intersectingArea.y == 10);
+ assertTrue("Test intersection width", intersectingArea.width == 5);
+ assertTrue("Test intersection height", intersectingArea.height == 5);
+ }
+
+ public function testIntersects () : Void {
+ var rectA:Rectangle = new Rectangle(10, 10, 50, 50);
+ var rectB:Rectangle = new Rectangle(59, 59, 50, 50);
+ var rectC:Rectangle = new Rectangle(60, 60, 50, 50);
+ var rectAIntersectsC:Boolean = rectA.intersects(rectC);
+ assertTrue("Test rectA intersects rectB", rectA.intersects(rectB));
+ assertFalse("Test rectA intersects rectC", rectA.intersects(rectC));
+ delete rectA;
+ delete rectB;
+ delete rectC;
+ var firstPixel:Rectangle = new Rectangle(0, 0, 1, 1);
+ var adjacentPixel:Rectangle = new Rectangle(1, 1, 1, 1);
+ var pixelsIntersect:Boolean = firstPixel.intersects(adjacentPixel);
+ assertFalse("Test intersects pixelsIntersect", pixelsIntersect);
+ }
+
+ public function testOffset () : Void {
+ var rectangle:Rectangle = new Rectangle(1, 2, 4, 8);
+ rectangle.offset(16, 32);
+ assertTrue("Test offset x", rectangle.x == 17);
+ assertTrue("Test offset y", rectangle.y == 34);
+ assertTrue("Test offset width", rectangle.width == 4);
+ assertTrue("Test offset height", rectangle.height == 8);
+ }
+
+ public function testOffsetPoint () : Void {
+ var rectangle:Rectangle = new Rectangle(1, 2, 4, 8);
+ rectangle.offsetPoint(new Point(16, 32));
+ assertTrue("Test offsetPoint x", rectangle.x == 17);
+ assertTrue("Test offsetPoint y", rectangle.y == 34);
+ assertTrue("Test offsetPoint width", rectangle.width == 4);
+ assertTrue("Test offsetPoint height", rectangle.height == 8);
+ }
+
+ public function testUnion () : Void {
+ var rectangle1:Rectangle = new Rectangle(20, 50, 60, 30);
+ var rectangle2:Rectangle = new Rectangle(150, 130, 50, 30);
+ var combined:Rectangle = rectangle1.union(rectangle2);
+ assertFalse("Test union empty", combined.isEmpty());
+ assertTrue("Test union x", combined.x == 20);
+ assertTrue("Test union y", combined.y == 50);
+ assertTrue("Test union width", combined.width == 180);
+ assertTrue("Test union height", combined.height == 110);
+ }
+
+ public function testIsEmpty () : Void {
+ var rectangle:Rectangle = new Rectangle(1, 2, 0, 0);
+ assertTrue("Test isEmpty 1", rectangle.isEmpty());
+ delete rectangle;
+ var rectangle:Rectangle = new Rectangle(1, 2, 4, 8);
+ assertFalse("Test isEmpty 2", rectangle.isEmpty());
+ rectangle.width = 0;
+ assertTrue("Test isEmpty 3", rectangle.isEmpty());
+ rectangle.width = 4;
+ assertFalse("Test isEmpty 4", rectangle.isEmpty());
+ rectangle.height = 0;
+ assertTrue("Test isEmpty 5", rectangle.isEmpty());
+ }
+
+ public function testSetEmpty () : Void {
+ var rectangle:Rectangle = new Rectangle(5, 10, 50, 100);
+ assertFalse("Test setEmpty 1", rectangle.isEmpty());
+ rectangle.setEmpty();
+ assertTrue("Test setEmpty 2", rectangle.isEmpty());
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|