comparison API/Objects/Requirement/RequiresAtLeastNUnitsRequirementTest.cs @ 109:f5f66483032a

Re #27: Define unit requirements * Add unit tests for validating an existing army without adding anything to it
author IBBoard <dev@ibboard.co.uk>
date Mon, 28 Mar 2011 19:40:46 +0000
parents 74bfe8b325d6
children 788ef54f5b5a
comparison
equal deleted inserted replaced
108:74bfe8b325d6 109:f5f66483032a
100 req.AddUnitTypeRequirement(unitType2, 2); 100 req.AddUnitTypeRequirement(unitType2, 2);
101 Assert.That(req.AllowsAdding(unitType1, army), Is.False); 101 Assert.That(req.AllowsAdding(unitType1, army), Is.False);
102 } 102 }
103 103
104 [Test()] 104 [Test()]
105 public void TestAddingUnitTypeWithTwoUnitAndTwoOfOneUnitTypeRequired() 105 public void TestAddingUnitTypeWithTwoUnitsAndTwoOfOneUnitTypeRequired()
106 { 106 {
107 Army army = new Army(mockRace, "Test", 1000); 107 Army army = new Army(mockRace, "Test", 1000);
108 AddUnitOfTypeToArmy(unitType2, army); 108 AddUnitOfTypeToArmy(unitType2, army);
109 AddUnitOfTypeToArmy(unitType2, army); 109 AddUnitOfTypeToArmy(unitType2, army);
110 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(); 110 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement();
111 req.AddUnitTypeRequirement(unitType2, 2); 111 req.AddUnitTypeRequirement(unitType2, 2);
112 Assert.That(req.AllowsAdding(unitType1, army), Is.True); 112 Assert.That(req.AllowsAdding(unitType1, army), Is.True);
113 }
114
115 [Test()]
116 public void TestValidityOfArmyWithNoUnitsAndOneUnitTypeRequired()
117 {
118 Army army = new Army(mockRace, "Test", 1000);
119 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2);
120 Assert.That(req.ValidatesArmy(army), Is.False);
121 }
122
123 [Test()]
124 public void TestValidityOfArmyWithOneUnitAndOneUnitTypeRequired()
125 {
126 Army army = new Army(mockRace, "Test", 1000);
127 AddUnitOfTypeToArmy(unitType2, army);
128 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2);
129 Assert.That(req.ValidatesArmy(army), Is.True);
113 } 130 }
114 131
115 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) 132 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army)
116 { 133 {
117 army.AddUnit(CreateUnitOfType(unitType, army)); 134 army.AddUnit(CreateUnitOfType(unitType, army));