diff API/Factories/Requirement/UnitRequiresAtLeastNUnitsRequirementFactoryTest.cs @ 155:3725fd449c77

Re #353: Handle unloaded units being referenced outside factory * Add mock factory and use it in tests All tests now pass (including tests that started failing because of unit loading order - triggered by requirement changes)
author IBBoard <dev@ibboard.co.uk>
date Mon, 04 Jul 2011 20:03:47 +0000
parents bf2880cf7bc5
children 17c5030485dc
line wrap: on
line diff
--- a/API/Factories/Requirement/UnitRequiresAtLeastNUnitsRequirementFactoryTest.cs	Sat Jul 02 19:56:30 2011 +0000
+++ b/API/Factories/Requirement/UnitRequiresAtLeastNUnitsRequirementFactoryTest.cs	Mon Jul 04 20:03:47 2011 +0000
@@ -7,6 +7,7 @@
 using NUnit.Framework.SyntaxHelpers;
 using IBBoard.WarFoundry.API.Objects;
 using IBBoard.WarFoundry.API.Objects.Requirement;
+using IBBoard.WarFoundry.API.Factories.Mock;
 
 namespace IBBoard.WarFoundry.API.Factories.Requirement
 {
@@ -18,6 +19,7 @@
 		private static string typeID2 = "unit2";
 		private static UnitType unitType1;
 		private static UnitType unitType2;
+		private static MockRaceFactory raceFactory = new MockRaceFactory();
 
 		[TestFixtureSetUp()]
 		public void Setup()
@@ -33,7 +35,7 @@
 		public void TestCreatesRequirement()
 		{
 			UnitRequiresAtLeastNUnitsRequirementFactory factory = new UnitRequiresAtLeastNUnitsRequirementFactory();
-			Assert.That(factory.CreateRequirement(unitType2, typeID1), Is.Not.Null);
+			Assert.That(factory.CreateRequirement(unitType2, typeID1, raceFactory), Is.Not.Null);
 		}
 
 		[Test()]
@@ -43,7 +45,7 @@
 			UnitType unitType = new UnitType("testUnit", "Test Unit", race);
 			UnitRequiresAtLeastNUnitsRequirement expectedReq = new UnitRequiresAtLeastNUnitsRequirement(unitType);
 			expectedReq.AddUnitTypeRequirement(unitType1);
-			UnitRequiresAtLeastNUnitsRequirement req = factory.CreateRequirement(unitType, typeID1);
+			UnitRequiresAtLeastNUnitsRequirement req = factory.CreateRequirement(unitType, typeID1, raceFactory);
 			Assert.That(req, Is.EqualTo(expectedReq));
 		}
 
@@ -55,7 +57,7 @@
 			UnitRequiresAtLeastNUnitsRequirement expectedReq = new UnitRequiresAtLeastNUnitsRequirement(unitType);
 			expectedReq.AddUnitTypeRequirement(unitType1);
 			expectedReq.AddUnitTypeRequirement(unitType2);
-			UnitRequiresAtLeastNUnitsRequirement req = factory.CreateRequirement(unitType, typeID1 + "|" + typeID2);
+			UnitRequiresAtLeastNUnitsRequirement req = factory.CreateRequirement(unitType, typeID1 + "|" + typeID2, raceFactory);
 			Assert.That(req, Is.EqualTo(expectedReq));
 		}
 
@@ -66,7 +68,7 @@
 			UnitType unitType = new UnitType("testUnit", "Test Unit", race);
 			UnitRequiresAtLeastNUnitsRequirement expectedReq = new UnitRequiresAtLeastNUnitsRequirement(unitType);
 			expectedReq.AddUnitTypeRequirement(unitType1, 2);
-			UnitRequiresAtLeastNUnitsRequirement req = factory.CreateRequirement(unitType, typeID1 + ":2");
+			UnitRequiresAtLeastNUnitsRequirement req = factory.CreateRequirement(unitType, typeID1 + ":2", raceFactory);
 			Assert.That(req, Is.EqualTo(expectedReq));
 		}
 
@@ -78,7 +80,7 @@
 			UnitRequiresAtLeastNUnitsRequirement expectedReq = new UnitRequiresAtLeastNUnitsRequirement(unitType);
 			expectedReq.AddUnitTypeRequirement(unitType1, 2);
 			expectedReq.AddUnitTypeRequirement(unitType2, 3);
-			UnitRequiresAtLeastNUnitsRequirement req = factory.CreateRequirement(unitType, typeID1 + ":2|" + typeID2 + ":3");
+			UnitRequiresAtLeastNUnitsRequirement req = factory.CreateRequirement(unitType, typeID1 + ":2|" + typeID2 + ":3", raceFactory);
 			Assert.That(req, Is.EqualTo(expectedReq));
 		}
 
@@ -90,7 +92,7 @@
 			UnitRequiresAtLeastNUnitsRequirement expectedReq = new UnitRequiresAtLeastNUnitsRequirement(unitType);
 			expectedReq.AddUnitTypeRequirement(unitType1, 2);
 			expectedReq.AddUnitTypeRequirement(unitType2);
-			UnitRequiresAtLeastNUnitsRequirement req = factory.CreateRequirement(unitType, typeID1 + ":2|" + typeID2);
+			UnitRequiresAtLeastNUnitsRequirement req = factory.CreateRequirement(unitType, typeID1 + ":2|" + typeID2, raceFactory);
 			Assert.That(req, Is.EqualTo(expectedReq));
 		}
 
@@ -102,7 +104,7 @@
 			UnitRequiresAtLeastNUnitsRequirement expectedReq = new UnitRequiresAtLeastNUnitsRequirement(unitType);
 			expectedReq.AddUnitTypeRequirement(unitType1);
 			expectedReq.AddUnitTypeRequirement(unitType2, 3);
-			UnitRequiresAtLeastNUnitsRequirement req = factory.CreateRequirement(unitType, typeID1 + "|" + typeID2 + ":3");
+			UnitRequiresAtLeastNUnitsRequirement req = factory.CreateRequirement(unitType, typeID1 + "|" + typeID2 + ":3", raceFactory);
 			Assert.That(req, Is.EqualTo(expectedReq));
 		}
 
@@ -112,7 +114,7 @@
 		{
 			UnitRequiresAtLeastNUnitsRequirementFactory factory = new UnitRequiresAtLeastNUnitsRequirementFactory();
 			UnitType unitType = new UnitType("testUnit", "Test Unit", race);
-			factory.CreateRequirement(unitType, "fibble");
+			factory.CreateRequirement(unitType, "fibble", raceFactory);
 		}
 
 		[Test()]
@@ -121,7 +123,7 @@
 		{
 			UnitRequiresAtLeastNUnitsRequirementFactory factory = new UnitRequiresAtLeastNUnitsRequirementFactory();
 			UnitType unitType = new UnitType("testUnit", "Test Unit", race);
-			factory.CreateRequirement(unitType, typeID1+":a");
+			factory.CreateRequirement(unitType, typeID1+":a", raceFactory);
 		}
 	}
 }