comparison API/Objects/Requirement/UnitRequiresNUnitsForMUnitsRequirementTests.cs @ 221:c40cb2048fc3

Re #394: * Fix UnitRequiresNUnitsForMUnitsRequirementTests unit test so it actually does test the other value * Add tests to "requires at least N" requirement and factory to test alternatives (Rollcall's "-1,X|Y" notation)
author IBBoard <dev@ibboard.co.uk>
date Sat, 24 Mar 2012 20:34:42 +0000
parents 0fa634c6391b
children 12ac487af0ba
comparison
equal deleted inserted replaced
220:0fa634c6391b 221:c40cb2048fc3
166 { 166 {
167 Army army = new Army(mockRace, "Test", 1000); 167 Army army = new Army(mockRace, "Test", 1000);
168 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); 168 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1);
169 req.AddUnitTypeRequirement(unitType2, unitType3); 169 req.AddUnitTypeRequirement(unitType2, unitType3);
170 Assert_That__FailsAdding(req, unitType1, army, "Army must contain: 1 × " + unitType2.Name + " or " + unitType3.Name + " for every 1 × " + unitType1.Name + " (would have 0 for 1)."); 170 Assert_That__FailsAdding(req, unitType1, army, "Army must contain: 1 × " + unitType2.Name + " or " + unitType3.Name + " for every 1 × " + unitType1.Name + " (would have 0 for 1).");
171 AddUnitOfTypeToArmy(unitType2, army); 171 AddUnitOfTypeToArmy(unitType3, army);
172 Assert_That__PassesAdding(req, unitType1, army); 172 Assert_That__PassesAdding(req, unitType1, army);
173 } 173 }
174 174
175 [Test] 175 [Test]
176 public void TestAddingRequirementWithORWithLimit() 176 public void TestAddingRequirementWithORWithLimit()
401 Army army = new Army(mockRace, "Test", 1000); 401 Army army = new Army(mockRace, "Test", 1000);
402 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); 402 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1);
403 req.AddUnitTypeRequirement(unitType2, unitType3); 403 req.AddUnitTypeRequirement(unitType2, unitType3);
404 AddUnitOfTypeToArmy(unitType1, army); 404 AddUnitOfTypeToArmy(unitType1, army);
405 Assert_That__ValidationFails(req, army, "Army must contain: 1 × " + unitType2.Name + " or " + unitType3.Name + " for every 1 × " + unitType1.Name + " (have 0 for 1)."); 405 Assert_That__ValidationFails(req, army, "Army must contain: 1 × " + unitType2.Name + " or " + unitType3.Name + " for every 1 × " + unitType1.Name + " (have 0 for 1).");
406 AddUnitOfTypeToArmy(unitType2, army); 406 AddUnitOfTypeToArmy(unitType3, army);
407 Assert_That__ValidationPasses(req, army); 407 Assert_That__ValidationPasses(req, army);
408 } 408 }
409 409
410 [Test] 410 [Test]
411 public void TestRequirementWithORWithLimit() 411 public void TestRequirementWithORWithLimit()