Mercurial > repos > IBBoard.WarFoundry.API.Tests
comparison API/Objects/Requirement/RequiresNoMoreThanNOfUnitTypeRequirementTest.cs @ 146:8c519a44e699
Re #345: Add failure message to requirements
* Add testing of failure messages for "allows adding"
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 01 May 2011 19:17:11 +0000 |
parents | eced294e82f2 |
children | c323770e61c2 |
comparison
equal
deleted
inserted
replaced
145:0d40d80226b8 | 146:8c519a44e699 |
---|---|
171 req.AddUnitTypeRequirement(unitType1); | 171 req.AddUnitTypeRequirement(unitType1); |
172 req.AddUnitTypeRequirement(unitType2); | 172 req.AddUnitTypeRequirement(unitType2); |
173 Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType2.Name + " (have 1).")); | 173 Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType2.Name + " (have 1).")); |
174 } | 174 } |
175 | 175 |
176 [Test] | |
177 public void TestAllowsAddMessageIsBlankForPass() | |
178 { | |
179 Army army = new Army(mockRace, "Test", 1000); | |
180 RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType1); | |
181 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.Empty); | |
182 } | |
183 | |
184 [Test] | |
185 public void TestAllowsAddMessageIsCorrectForFailWithOneUnitProhibited() | |
186 { | |
187 Army army = new Army(mockRace, "Test", 1000); | |
188 RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(unitType1); | |
189 Assert.That(req.GetAllowsAddingMessage(unitType1, army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType1.Name + " (would have 1).")); | |
190 } | |
191 | |
192 [Test] | |
193 public void TestAllowsAddMessageIsCorrectForFailWithTwoOfOneUnitLimit() | |
194 { | |
195 Army army = new Army(mockRace, "Test", 1000); | |
196 AddUnitOfTypeToArmy(unitType1, army); | |
197 AddUnitOfTypeToArmy(unitType1, army); | |
198 RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); | |
199 req.AddUnitTypeRequirement(unitType1, 2); | |
200 Assert.That(req.GetAllowsAddingMessage(unitType1, army), Is.EqualTo("Army cannot contain more than: 2 × " + unitType1.Name + " (would have 3).")); | |
201 } | |
202 | |
203 [Test] | |
204 public void TestAllowsAddMessageIsCorrectForFailWithTwoUnitsProhibited() | |
205 { | |
206 Army army = new Army(mockRace, "Test", 1000); | |
207 RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); | |
208 req.AddUnitTypeRequirement(unitType1); | |
209 req.AddUnitTypeRequirement(unitType2); | |
210 Assert.That(req.GetAllowsAddingMessage(unitType1, army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType1.Name + " (would have 1).")); | |
211 } | |
212 | |
213 [Test] | |
214 public void TestAllowsAddMessageIsCorrectForFailWithTwoUnitsProhibitedAndOneUnitInArmy() | |
215 { | |
216 Army army = new Army(mockRace, "Test", 1000); | |
217 AddUnitOfTypeToArmy(unitType1, army); | |
218 RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); | |
219 req.AddUnitTypeRequirement(unitType1); | |
220 req.AddUnitTypeRequirement(unitType2); | |
221 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType1.Name + " (would have 1); 0 × " + unitType2.Name + " (would have 1).")); | |
222 } | |
223 | |
224 [Test] | |
225 public void TestAllowsAddMessageIsCorrectForFailWithTwoUnitsProhibitedAndOtherUnitInArmy() | |
226 { | |
227 Army army = new Army(mockRace, "Test", 1000); | |
228 AddUnitOfTypeToArmy(unitType2, army); | |
229 RequiresNoMoreThanNOfUnitTypeRequirement req = new RequiresNoMoreThanNOfUnitTypeRequirement(); | |
230 req.AddUnitTypeRequirement(unitType1); | |
231 req.AddUnitTypeRequirement(unitType2); | |
232 Assert.That(req.GetAllowsAddingMessage(unitType1, army), Is.EqualTo("Army cannot contain more than: 0 × " + unitType1.Name + " (would have 1); 0 × " + unitType2.Name + " (would have 1).")); | |
233 } | |
234 | |
176 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) | 235 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) |
177 { | 236 { |
178 army.AddUnit(CreateUnitOfType(unitType, army)); | 237 army.AddUnit(CreateUnitOfType(unitType, army)); |
179 } | 238 } |
180 | 239 |