changeset 11:37642712f632

* Tests for method for making percentage of one integer compared to another to ensure consistency no-open-ticket
author IBBoard <dev@ibboard.co.uk>
date Fri, 06 Nov 2009 19:57:44 +0000
parents 5507654d189d
children 298786adcddc
files CustomMath/IBBMathTests.cs
diffstat 1 files changed, 40 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/CustomMath/IBBMathTests.cs	Sat Oct 24 19:50:09 2009 +0000
+++ b/CustomMath/IBBMathTests.cs	Fri Nov 06 19:57:44 2009 +0000
@@ -245,7 +245,46 @@
 			Assert.AreEqual(3, IBBMath.FloorToHalf(3));
 		}
 
+		[Test()]
+		public void TestPercentageCalculations()
+		{
+			Assert.AreEqual(50, IBBMath.Percentage(1,2));
+			Assert.AreEqual(50, IBBMath.Percentage(2,4));
+			Assert.AreEqual(25, IBBMath.Percentage(1,4));
+			Assert.AreEqual(10, IBBMath.Percentage(1,10));
+			Assert.AreEqual(1, IBBMath.Percentage(1,100));
+			Assert.AreEqual(0.1, IBBMath.Percentage(1,1000));
+			Assert.AreEqual(200, IBBMath.Percentage(2,1));
+			Assert.AreEqual(-50, IBBMath.Percentage(-1,2));
+			Assert.AreEqual(-50, IBBMath.Percentage(-2,4));
+			Assert.AreEqual(-50, IBBMath.Percentage(1,-2));
+			Assert.AreEqual(-50, IBBMath.Percentage(2,-4));
+		}
 
-		
+		[Test()]
+		public void TestPercentageCalculationsForZero()
+		{
+			Assert.AreEqual(0, IBBMath.Percentage(0,2));
+			Assert.AreEqual(0, IBBMath.Percentage(0,4));
+			Assert.AreEqual(0, IBBMath.Percentage(0,10));
+			Assert.AreEqual(0, IBBMath.Percentage(0,-2));
+			Assert.AreEqual(0, IBBMath.Percentage(0,-4));
+			Assert.AreEqual(0, IBBMath.Percentage(0,-10));
+		}
+
+		[Test()]
+		public void TestPercentageCalculationsWithZeroAsDivisor()
+		{
+			Assert.AreEqual(double.PositiveInfinity, IBBMath.Percentage(1,0));
+			Assert.AreEqual(double.PositiveInfinity, IBBMath.Percentage(2,0));
+			Assert.AreEqual(double.NegativeInfinity, IBBMath.Percentage(-1,0));
+			Assert.AreEqual(double.NegativeInfinity, IBBMath.Percentage(-2,0));
+		}
+
+		[Test()]
+		public void TestPercentageCalculationsWithZeroAsNumberAndDivisor()
+		{
+			Assert.AreEqual(double.NaN, IBBMath.Percentage(0,0));
+		}
 	}
 }