You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by jo...@apache.org on 2022/12/19 21:07:11 UTC

[royale-asjs] 03/05: RoyaleUnit: assertLessThan, assertGreaterThan, assertLessThanOrEqual, assertGreaterThanOrEqual

This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 1cf794888dad6abf645b380e70d65f071aa91120
Author: Josh Tynjala <jo...@apache.org>
AuthorDate: Mon Dec 19 12:40:42 2022 -0800

    RoyaleUnit: assertLessThan, assertGreaterThan, assertLessThanOrEqual, assertGreaterThanOrEqual
---
 .../main/royale/org/apache/royale/test/Assert.as   | 85 ++++++++++++++++++++++
 .../royale/test/asserts/assertGreaterThan.as       | 30 ++++++++
 .../test/asserts/assertGreaterThanOrEqual.as       | 30 ++++++++
 .../apache/royale/test/asserts/assertLessThan.as   | 30 ++++++++
 .../royale/test/asserts/assertLessThanOrEqual.as   | 30 ++++++++
 .../royale/org/apache/royale/test/bdd/IExpect.as   | 64 ++++++++++++++++
 .../royale/org/apache/royale/test/bdd/expect.as    | 72 ++++++++++++++++++
 .../src/test/royale/tests/AssertTests.as           | 72 ++++++++++++++++++
 .../src/test/royale/tests/ExpectBDDTests.as        | 72 ++++++++++++++++++
 9 files changed, 485 insertions(+)

diff --git a/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/Assert.as b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/Assert.as
index d10b92fc15..d5f9071df2 100644
--- a/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/Assert.as
+++ b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/Assert.as
@@ -163,6 +163,46 @@ package org.apache.royale.test
 			failWithin(actual, minimum, maximum, message);
 		}
 
+		/**
+		 * Asserts that the provided value is less than another value.
+		 * Equivalent to testing the value in an <code>if(value < other)</code>
+		 * statement.
+		 */
+		public static function assertLessThan(actual:Number, other:Number, message:String = null):void
+		{
+			failGreaterThanOrEqual(actual, other, message);
+		}
+
+		/**
+		 * Asserts that the provided value is greater than another value.
+		 * Equivalent to testing the value in an <code>if(value > other)</code>
+		 * statement.
+		 */
+		public static function assertGreaterThan(actual:Number, other:Number, message:String = null):void
+		{
+			failLessThanOrEqual(actual, other, message);
+		}
+
+		/**
+		 * Asserts that the provided value is less or equal to than another
+		 * value. Equivalent to testing the value in an
+		 * <code>if(value <= other)</code> statement.
+		 */
+		public static function assertLessThanOrEqual(actual:Number, other:Number, message:String = null):void
+		{
+			failGreaterThan(actual, other, message);
+		}
+
+		/**
+		 * Asserts that the provided value is greater than or equal to another
+		 * value. Equivalent to testing the value in an
+		 * <code>if(value >= other)</code> statement.
+		 */
+		public static function assertGreaterThanOrEqual(actual:Number, other:Number, message:String = null):void
+		{
+			failLessThan(actual, other, message);
+		}
+
 		/**
 		 * Fails.
 		 */
@@ -328,6 +368,51 @@ package org.apache.royale.test
 			}
 		}
 
+		/**
+		 * Fails if the provided value is less than another value.
+		 */
+		public static function failLessThan(actual:Number, other:Number, message:String = null):void
+		{
+			if (actual < other)
+			{
+				failWithUserMessage("expected greater than or equal to <" + other + "> but was <" + actual + ">", message);
+			}
+		}
+
+		/**
+		 * Fails if the provided value is greater than another value.
+		 */
+		public static function failGreaterThan(actual:Number, other:Number, message:String = null):void
+		{
+			if (actual > other)
+			{
+				failWithUserMessage("expected less than or equal to <" + other + "> but was <" + actual + ">", message);
+			}
+		}
+
+		/**
+		 * Fails if the provided value is less than or equal to another value.
+		 */
+		public static function failLessThanOrEqual(actual:Number, other:Number, message:String = null):void
+		{
+			if (actual <= other)
+			{
+				failWithUserMessage("expected greater than <" + other + "> but was <" + actual + ">", message);
+			}
+		}
+
+		/**
+		 * Fails if the provided value is greater than or equal to another
+		 * value.
+		 */
+		public static function failGreaterThanOrEqual(actual:Number, other:Number, message:String = null):void
+		{
+			if (actual >= other)
+			{
+				failWithUserMessage("expected less than <" + other + "> but was <" + actual + ">", message);
+			}
+		}
+
 		/**
 		 * @private
 		 */
diff --git a/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/asserts/assertGreaterThan.as b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/asserts/assertGreaterThan.as
new file mode 100644
index 0000000000..fd2177ee1c
--- /dev/null
+++ b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/asserts/assertGreaterThan.as
@@ -0,0 +1,30 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.test.asserts
+{
+	import org.apache.royale.test.Assert;
+
+	/**
+	 * Alias for org.apache.royale.test.Assert assertGreaterThan method
+	 */
+	public function assertGreaterThan(actual:Number, other:Number, message:String = null):void
+	{
+		Assert.assertGreaterThan(actual, other, message);
+	}
+}
\ No newline at end of file
diff --git a/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/asserts/assertGreaterThanOrEqual.as b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/asserts/assertGreaterThanOrEqual.as
new file mode 100644
index 0000000000..527f6f3fc8
--- /dev/null
+++ b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/asserts/assertGreaterThanOrEqual.as
@@ -0,0 +1,30 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.test.asserts
+{
+	import org.apache.royale.test.Assert;
+
+	/**
+	 * Alias for org.apache.royale.test.Assert assertGreaterThanOrEqual method
+	 */
+	public function assertGreaterThanOrEqual(actual:Number, other:Number, message:String = null):void
+	{
+		Assert.assertGreaterThanOrEqual(actual, other, message);
+	}
+}
\ No newline at end of file
diff --git a/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/asserts/assertLessThan.as b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/asserts/assertLessThan.as
new file mode 100644
index 0000000000..fca892f44b
--- /dev/null
+++ b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/asserts/assertLessThan.as
@@ -0,0 +1,30 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.test.asserts
+{
+	import org.apache.royale.test.Assert;
+
+	/**
+	 * Alias for org.apache.royale.test.Assert assertLessThan method
+	 */
+	public function assertLessThan(actual:Number, other:Number, message:String = null):void
+	{
+		Assert.assertLessThan(actual, other, message);
+	}
+}
\ No newline at end of file
diff --git a/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/asserts/assertLessThanOrEqual.as b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/asserts/assertLessThanOrEqual.as
new file mode 100644
index 0000000000..76ca73c857
--- /dev/null
+++ b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/asserts/assertLessThanOrEqual.as
@@ -0,0 +1,30 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.test.asserts
+{
+	import org.apache.royale.test.Assert;
+
+	/**
+	 * Alias for org.apache.royale.test.Assert assertLessThanOrEqual method
+	 */
+	public function assertLessThanOrEqual(actual:Number, other:Number, message:String = null):void
+	{
+		Assert.assertLessThanOrEqual(actual, other, message);
+	}
+}
\ No newline at end of file
diff --git a/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/bdd/IExpect.as b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/bdd/IExpect.as
index 9d49aec9bf..342b113439 100644
--- a/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/bdd/IExpect.as
+++ b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/bdd/IExpect.as
@@ -65,6 +65,70 @@ package org.apache.royale.test.bdd
 		 */
 		function within(minimum:Number, maximum:Number, message:String = null):IExpect;
 
+		/**
+		 * Asserts that the provided value is less than another value.
+		 * Equivalent to testing the value in an <code>if(value < other)</code>
+		 * statement.
+		 * 
+		 * @see Assert#assertLessThan
+		 */
+		function lessThan(other:Number, message:String = null):IExpect;
+
+		/**
+		 * Asserts that the provided value is less or equal to than another
+		 * value. Equivalent to testing the value in an
+		 * <code>if(value <= other)</code> statement.
+		 * 
+		 * @see Assert#assertLessThanOrEqual
+		 */
+		function lessThanOrEqual(other:Number, message:String = null):IExpect;
+
+		/**
+		 * Asserts that the provided value is greater than another value.
+		 * Equivalent to testing the value in an <code>if(value > other)</code>
+		 * statement.
+		 * 
+		 * @see Assert#assertGreaterThan
+		 */
+		function greaterThan(other:Number, message:String = null):IExpect;
+
+		/**
+		 * Asserts that the provided value is greater than or equal to another
+		 * value. Equivalent to testing the value in an
+		 * <code>if(value >= other)</code> statement.
+		 * 
+		 * @see Assert#assertGreaterThanOrEqual
+		 */
+		function greaterThanOrEqual(other:Number, message:String = null):IExpect;
+
+		/**
+		 * Alias for <code>lessThan()</code>.
+		 * 
+		 * @see #lessThan
+		 */
+		function lt(other:Number, message:String = null):IExpect;
+
+		/**
+		 * Alias for <code>greaterThan()</code>.
+		 * 
+		 * @see #greaterThan
+		 */
+		function gt(other:Number, message:String = null):IExpect;
+
+		/**
+		 * Alias for <code>lessThanOrEqual()</code>.
+		 * 
+		 * @see #lessThanOrEqual
+		 */
+		function lte(other:Number, message:String = null):IExpect;
+
+		/**
+		 * Alias for <code>greaterThanOrEqual()</code>.
+		 * 
+		 * @see #greaterThanOrEqual
+		 */
+		function gte(other:Number, message:String = null):IExpect;
+
 		/**
 		 * Negates all assertions that follow in the chain.
 		 */
diff --git a/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/bdd/expect.as b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/bdd/expect.as
index b21258f4ff..d2979e1962 100644
--- a/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/bdd/expect.as
+++ b/frameworks/projects/RoyaleUnit/src/main/royale/org/apache/royale/test/bdd/expect.as
@@ -89,6 +89,78 @@ class Expect implements IExpect
 		return this;
 	}
 
+	public function lessThan(other:Number, message:String = null):IExpect
+	{
+		if (_not)
+		{
+			Assert.failLessThan(_value, other, message);
+		}
+		else
+		{
+			Assert.assertLessThan(_value, other, message);
+		}
+		return this;
+	}
+
+	public function greaterThan(other:Number, message:String = null):IExpect
+	{
+		if (_not)
+		{
+			Assert.failGreaterThan(_value, other, message);
+		}
+		else
+		{
+			Assert.assertGreaterThan(_value, other, message);
+		}
+		return this;
+	}
+
+	public function lessThanOrEqual(other:Number, message:String = null):IExpect
+	{
+		if (_not)
+		{
+			Assert.failLessThanOrEqual(_value, other, message);
+		}
+		else
+		{
+			Assert.assertLessThanOrEqual(_value, other, message);
+		}
+		return this;
+	}
+
+	public function greaterThanOrEqual(other:Number, message:String = null):IExpect
+	{
+		if (_not)
+		{
+			Assert.failGreaterThanOrEqual(_value, other, message);
+		}
+		else
+		{
+			Assert.assertGreaterThanOrEqual(_value, other, message);
+		}
+		return this;
+	}
+
+	public function lt(other:Number, message:String = null):IExpect
+	{
+		return lessThan(other, message);
+	}
+
+	public function lte(other:Number, message:String = null):IExpect
+	{
+		return lessThanOrEqual(other, message);
+	}
+
+	public function gt(other:Number, message:String = null):IExpect
+	{
+		return greaterThan(other, message);
+	}
+
+	public function gte(other:Number, message:String = null):IExpect
+	{
+		return greaterThanOrEqual(other, message);
+	}
+
 	public function get not():IExpect
 	{
 		_not = !_not;
diff --git a/frameworks/projects/RoyaleUnit/src/test/royale/tests/AssertTests.as b/frameworks/projects/RoyaleUnit/src/test/royale/tests/AssertTests.as
index 7c89441578..28cb3b2ceb 100644
--- a/frameworks/projects/RoyaleUnit/src/test/royale/tests/AssertTests.as
+++ b/frameworks/projects/RoyaleUnit/src/test/royale/tests/AssertTests.as
@@ -841,6 +841,78 @@ package tests
 			Assert.assertWithin(1.0001, -1, 1);
 		}
 
+		[Test(expected="org.apache.royale.test.AssertionError")]
+		public function testAssertLessThanMatch():void
+		{
+			Assert.assertLessThan(0, 0);
+		}
+
+		[Test]
+		public function testAssertLessThanLess():void
+		{
+			Assert.assertLessThan(-1, 0);
+		}
+
+		[Test(expected="org.apache.royale.test.AssertionError")]
+		public function testAssertLessThanGreater():void
+		{
+			Assert.assertLessThan(1, 0);
+		}
+
+		[Test(expected="org.apache.royale.test.AssertionError")]
+		public function testAssertGreaterThanMatch():void
+		{
+			Assert.assertGreaterThan(0, 0);
+		}
+
+		[Test(expected="org.apache.royale.test.AssertionError")]
+		public function testAssertGreaterThanLess():void
+		{
+			Assert.assertGreaterThan(-1, 0);
+		}
+
+		[Test]
+		public function testAssertGreaterThanGreater():void
+		{
+			Assert.assertGreaterThan(1, 0);
+		}
+
+		[Test]
+		public function testAssertLessThanOrEqualMatch():void
+		{
+			Assert.assertLessThanOrEqual(0, 0);
+		}
+
+		[Test]
+		public function testAssertLessThanOrEqualLess():void
+		{
+			Assert.assertLessThanOrEqual(-1, 0);
+		}
+
+		[Test(expected="org.apache.royale.test.AssertionError")]
+		public function testAssertLessThanOrEqualGreater():void
+		{
+			Assert.assertLessThanOrEqual(1, 0);
+		}
+
+		[Test]
+		public function testAssertGreaterThanOrEqualMatch():void
+		{
+			Assert.assertGreaterThanOrEqual(0, 0);
+		}
+
+		[Test(expected="org.apache.royale.test.AssertionError")]
+		public function testAssertGreaterThanOrEqualLess():void
+		{
+			Assert.assertGreaterThanOrEqual(-1, 0);
+		}
+
+		[Test]
+		public function testAssertGreaterThanOrEqualGreater():void
+		{
+			Assert.assertGreaterThanOrEqual(1, 0);
+		}
+
 		[Test(expected="org.apache.royale.test.AssertionError")]
 		public function testFail():void
 		{
diff --git a/frameworks/projects/RoyaleUnit/src/test/royale/tests/ExpectBDDTests.as b/frameworks/projects/RoyaleUnit/src/test/royale/tests/ExpectBDDTests.as
index 461741bd11..eac3e66c88 100644
--- a/frameworks/projects/RoyaleUnit/src/test/royale/tests/ExpectBDDTests.as
+++ b/frameworks/projects/RoyaleUnit/src/test/royale/tests/ExpectBDDTests.as
@@ -1620,5 +1620,77 @@ package tests
 		{
 			expect(-1.0001).is.within(-1, 1);
 		}
+
+		[Test(expected="org.apache.royale.test.AssertionError")]
+		public function testExpectLessThanMatch():void
+		{
+			expect(0).lessThan(0);
+		}
+
+		[Test]
+		public function testExpectLessThanLess():void
+		{
+			expect(-1).lessThan(0);
+		}
+
+		[Test(expected="org.apache.royale.test.AssertionError")]
+		public function testExpectLessThanGreater():void
+		{
+			expect(1).lessThan(0);
+		}
+
+		[Test(expected="org.apache.royale.test.AssertionError")]
+		public function testExpectGreaterThanMatch():void
+		{
+			expect(0).greaterThan(0);
+		}
+
+		[Test(expected="org.apache.royale.test.AssertionError")]
+		public function testExpectGreaterThanLess():void
+		{
+			expect(-1).greaterThan(0);
+		}
+
+		[Test]
+		public function testExpectGreaterThanGreater():void
+		{
+			expect(1).greaterThan(0);
+		}
+
+		[Test]
+		public function testExpectLessThanOrEqualMatch():void
+		{
+			expect(0).lessThanOrEqual(0);
+		}
+
+		[Test]
+		public function testExpectLessThanOrEqualLess():void
+		{
+			expect(-1).lessThanOrEqual(0);
+		}
+
+		[Test(expected="org.apache.royale.test.AssertionError")]
+		public function testExpectLessThanOrEqualGreater():void
+		{
+			expect(1).lessThanOrEqual(0);
+		}
+
+		[Test]
+		public function testExpectGreaterThanOrEqualMatch():void
+		{
+			expect(0).greaterThanOrEqual(0);
+		}
+
+		[Test(expected="org.apache.royale.test.AssertionError")]
+		public function testExpectGreaterThanOrEqualLess():void
+		{
+			expect(-1).greaterThanOrEqual(0);
+		}
+
+		[Test]
+		public function testExpectGreaterThanOrEqualGreater():void
+		{
+			expect(1).greaterThanOrEqual(0);
+		}
 	}
 }
\ No newline at end of file