Mercurial > repos > IBBoard.WarFoundry.API.Tests
comparison API/Objects/Requirement/UnitRequiresNoMoreThanNOfUnitTypeRequirementTest.cs @ 206:78ba834cb1f7
Re #379: Fix validation of requirements to check for unit
* Fix expected text for "Requires no more than", which has a slightly different format
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 29 Jan 2012 20:03:44 +0000 |
parents | 8c519a44e699 |
children | 27f163bf884a |
comparison
equal
deleted
inserted
replaced
205:d39682a98adf | 206:78ba834cb1f7 |
---|---|
228 { | 228 { |
229 Army army = new Army(mockRace, "Test", 1000); | 229 Army army = new Army(mockRace, "Test", 1000); |
230 AddUnitOfTypeToArmy(unitType1, army); | 230 AddUnitOfTypeToArmy(unitType1, army); |
231 RequiresNoMoreThanNOfUnitTypeRequirement req = new UnitRequiresNoMoreThanNOfUnitTypeRequirement(unitType1); | 231 RequiresNoMoreThanNOfUnitTypeRequirement req = new UnitRequiresNoMoreThanNOfUnitTypeRequirement(unitType1); |
232 req.AddUnitTypeRequirement(unitType2); | 232 req.AddUnitTypeRequirement(unitType2); |
233 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army contains " + unitType1.Name + " and so cannot contain more than: 0 × " + unitType2.Name + " (would have 1).")); | 233 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army would contain " + unitType1.Name + " and so cannot contain more than: 0 × " + unitType2.Name + " (would have 1).")); |
234 } | 234 } |
235 | 235 |
236 [Test] | 236 [Test] |
237 public void TestAllowsAddMessageIsCorrectForFailWithTwoOfOneUnitLimit() | 237 public void TestAllowsAddMessageIsCorrectForFailWithTwoOfOneUnitLimit() |
238 { | 238 { |
240 AddUnitOfTypeToArmy(unitType1, army); | 240 AddUnitOfTypeToArmy(unitType1, army); |
241 AddUnitOfTypeToArmy(unitType2, army); | 241 AddUnitOfTypeToArmy(unitType2, army); |
242 AddUnitOfTypeToArmy(unitType2, army); | 242 AddUnitOfTypeToArmy(unitType2, army); |
243 RequiresNoMoreThanNOfUnitTypeRequirement req = new UnitRequiresNoMoreThanNOfUnitTypeRequirement(unitType1); | 243 RequiresNoMoreThanNOfUnitTypeRequirement req = new UnitRequiresNoMoreThanNOfUnitTypeRequirement(unitType1); |
244 req.AddUnitTypeRequirement(unitType2, 2); | 244 req.AddUnitTypeRequirement(unitType2, 2); |
245 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army contains " + unitType1.Name + " and so cannot contain more than: 2 × " + unitType2.Name + " (would have 3).")); | 245 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army would contain " + unitType1.Name + " and so cannot contain more than: 2 × " + unitType2.Name + " (would have 3).")); |
246 } | 246 } |
247 | 247 |
248 [Test] | 248 [Test] |
249 public void TestAllowsAddMessageIsCorrectForFailWithTwoUnitsProhibited() | 249 public void TestAllowsAddMessageIsCorrectForFailWithTwoUnitsProhibited() |
250 { | 250 { |
251 Army army = new Army(mockRace, "Test", 1000); | 251 Army army = new Army(mockRace, "Test", 1000); |
252 AddUnitOfTypeToArmy(unitType1, army); | 252 AddUnitOfTypeToArmy(unitType1, army); |
253 RequiresNoMoreThanNOfUnitTypeRequirement req = new UnitRequiresNoMoreThanNOfUnitTypeRequirement(unitType1); | 253 RequiresNoMoreThanNOfUnitTypeRequirement req = new UnitRequiresNoMoreThanNOfUnitTypeRequirement(unitType1); |
254 req.AddUnitTypeRequirement(unitType2); | 254 req.AddUnitTypeRequirement(unitType2); |
255 req.AddUnitTypeRequirement(unitType3); | 255 req.AddUnitTypeRequirement(unitType3); |
256 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army contains " + unitType1.Name + " and so cannot contain more than: 0 × " + unitType2.Name + " (would have 1).")); | 256 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army would contain " + unitType1.Name + " and so cannot contain more than: 0 × " + unitType2.Name + " (would have 1).")); |
257 } | 257 } |
258 | 258 |
259 [Test] | 259 [Test] |
260 public void TestAllowsAddMessageIsCorrectForFailWithTwoUnitsProhibitedAndOneUnitInArmy() | 260 public void TestAllowsAddMessageIsCorrectForFailWithTwoUnitsProhibitedAndOneUnitInArmy() |
261 { | 261 { |
263 AddUnitOfTypeToArmy(unitType1, army); | 263 AddUnitOfTypeToArmy(unitType1, army); |
264 AddUnitOfTypeToArmy(unitType2, army); | 264 AddUnitOfTypeToArmy(unitType2, army); |
265 RequiresNoMoreThanNOfUnitTypeRequirement req = new UnitRequiresNoMoreThanNOfUnitTypeRequirement(unitType1); | 265 RequiresNoMoreThanNOfUnitTypeRequirement req = new UnitRequiresNoMoreThanNOfUnitTypeRequirement(unitType1); |
266 req.AddUnitTypeRequirement(unitType2); | 266 req.AddUnitTypeRequirement(unitType2); |
267 req.AddUnitTypeRequirement(unitType3); | 267 req.AddUnitTypeRequirement(unitType3); |
268 Assert.That(req.GetAllowsAddingMessage(unitType3, army), Is.EqualTo("Army contains " + unitType1.Name + " and so cannot contain more than: 0 × " + unitType2.Name + " (would have 1); 0 × " + unitType3.Name + " (would have 1).")); | 268 Assert.That(req.GetAllowsAddingMessage(unitType3, army), Is.EqualTo("Army would contain " + unitType1.Name + " and so cannot contain more than: 0 × " + unitType2.Name + " (would have 1); 0 × " + unitType3.Name + " (would have 1).")); |
269 } | 269 } |
270 | 270 |
271 [Test] | 271 [Test] |
272 public void TestAllowsAddMessageIsCorrectForFailWithTwoUnitsProhibitedAndOtherUnitInArmy() | 272 public void TestAllowsAddMessageIsCorrectForFailWithTwoUnitsProhibitedAndOtherUnitInArmy() |
273 { | 273 { |
275 AddUnitOfTypeToArmy(unitType1, army); | 275 AddUnitOfTypeToArmy(unitType1, army); |
276 AddUnitOfTypeToArmy(unitType3, army); | 276 AddUnitOfTypeToArmy(unitType3, army); |
277 RequiresNoMoreThanNOfUnitTypeRequirement req = new UnitRequiresNoMoreThanNOfUnitTypeRequirement(unitType1); | 277 RequiresNoMoreThanNOfUnitTypeRequirement req = new UnitRequiresNoMoreThanNOfUnitTypeRequirement(unitType1); |
278 req.AddUnitTypeRequirement(unitType2); | 278 req.AddUnitTypeRequirement(unitType2); |
279 req.AddUnitTypeRequirement(unitType3); | 279 req.AddUnitTypeRequirement(unitType3); |
280 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army contains " + unitType1.Name + " and so cannot contain more than: 0 × " + unitType2.Name + " (would have 1); 0 × " + unitType3.Name + " (would have 1).")); | 280 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army would contain " + unitType1.Name + " and so cannot contain more than: 0 × " + unitType2.Name + " (would have 1); 0 × " + unitType3.Name + " (would have 1).")); |
281 } | 281 } |
282 | 282 |
283 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) | 283 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) |
284 { | 284 { |
285 army.AddUnit(CreateUnitOfType(unitType, army)); | 285 army.AddUnit(CreateUnitOfType(unitType, army)); |