Mercurial > repos > IBDev-IBBoard.WarFoundry.API.Tests
comparison API/Objects/Requirement/UnitRequiresAtLeastNUnitsRequirementTest.cs @ 205:d39682a98adf
Re #379: Fix validation of requirements to check for unit
* Add unit tests for army object
* Update tests that check the message
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 29 Jan 2012 19:40:19 +0000 |
parents | 8c519a44e699 |
children | 27f163bf884a |
comparison
equal
deleted
inserted
replaced
204:ea104de9189e | 205:d39682a98adf |
---|---|
275 public void TestAllowsAddingMessageIsCorrectForFailWithTwoOfOneUnitRequired() | 275 public void TestAllowsAddingMessageIsCorrectForFailWithTwoOfOneUnitRequired() |
276 { | 276 { |
277 Army army = new Army(mockRace, "Test", 1000); | 277 Army army = new Army(mockRace, "Test", 1000); |
278 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); | 278 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); |
279 req.AddUnitTypeRequirement(unitType2, 2); | 279 req.AddUnitTypeRequirement(unitType2, 2); |
280 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army contains " + unitType1.Name + " and so must contain: 2 × " + unitType2.Name + " (would have 1).")); | 280 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army would contain " + unitType1.Name + " and so must contain: 2 × " + unitType2.Name + " (would have 1).")); |
281 } | 281 } |
282 | 282 |
283 [Test] | 283 [Test] |
284 public void TestAllowsAddingMessageIsCorrectForFailWithTwoUnitsRequired() | 284 public void TestAllowsAddingMessageIsCorrectForFailWithTwoUnitsRequired() |
285 { | 285 { |
286 Army army = new Army(mockRace, "Test", 1000); | 286 Army army = new Army(mockRace, "Test", 1000); |
287 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); | 287 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); |
288 req.AddUnitTypeRequirement(unitType2); | 288 req.AddUnitTypeRequirement(unitType2); |
289 req.AddUnitTypeRequirement(unitType3); | 289 req.AddUnitTypeRequirement(unitType3); |
290 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army contains " + unitType1.Name + " and so must contain: 1 × " + unitType3.Name + " (would have 0).")); | 290 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army would contain " + unitType1.Name + " and so must contain: 1 × " + unitType3.Name + " (would have 0).")); |
291 } | 291 } |
292 | 292 |
293 [Test] | 293 [Test] |
294 public void TestAllowsAddingMessageIsCorrectForFailWithTwoUnitsRequiredOtherUnit() | 294 public void TestAllowsAddingMessageIsCorrectForFailWithTwoUnitsRequiredOtherUnit() |
295 { | 295 { |
296 Army army = new Army(mockRace, "Test", 1000); | 296 Army army = new Army(mockRace, "Test", 1000); |
297 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); | 297 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); |
298 req.AddUnitTypeRequirement(unitType2); | 298 req.AddUnitTypeRequirement(unitType2); |
299 req.AddUnitTypeRequirement(unitType3); | 299 req.AddUnitTypeRequirement(unitType3); |
300 Assert.That(req.GetAllowsAddingMessage(unitType3, army), Is.EqualTo("Army contains " + unitType1.Name + " and so must contain: 1 × " + unitType2.Name + " (would have 0).")); | 300 Assert.That(req.GetAllowsAddingMessage(unitType3, army), Is.EqualTo("Army would contain " + unitType1.Name + " and so must contain: 1 × " + unitType2.Name + " (would have 0).")); |
301 } | 301 } |
302 | 302 |
303 [Test] | 303 [Test] |
304 public void TestAllowsAddingMessageIsCorrectForFailWithTwoUnitsRequiredWithOneUnit() | 304 public void TestAllowsAddingMessageIsCorrectForFailWithTwoUnitsRequiredWithOneUnit() |
305 { | 305 { |
306 Army army = new Army(mockRace, "Test", 1000); | 306 Army army = new Army(mockRace, "Test", 1000); |
307 AddUnitOfTypeToArmy(unitType2, army); | 307 AddUnitOfTypeToArmy(unitType2, army); |
308 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); | 308 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); |
309 req.AddUnitTypeRequirement(unitType2); | 309 req.AddUnitTypeRequirement(unitType2); |
310 req.AddUnitTypeRequirement(unitType3); | 310 req.AddUnitTypeRequirement(unitType3); |
311 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army contains " + unitType1.Name + " and so must contain: 1 × " + unitType3.Name + " (would have 0).")); | 311 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army would contain " + unitType1.Name + " and so must contain: 1 × " + unitType3.Name + " (would have 0).")); |
312 } | 312 } |
313 | 313 |
314 [Test] | 314 [Test] |
315 public void TestAllowsAddingMessageIsCorrectForFailWithTwoUnitsRequiredWithOtherUnit() | 315 public void TestAllowsAddingMessageIsCorrectForFailWithTwoUnitsRequiredWithOtherUnit() |
316 { | 316 { |
317 Army army = new Army(mockRace, "Test", 1000); | 317 Army army = new Army(mockRace, "Test", 1000); |
318 AddUnitOfTypeToArmy(unitType3, army); | 318 AddUnitOfTypeToArmy(unitType3, army); |
319 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); | 319 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); |
320 req.AddUnitTypeRequirement(unitType2); | 320 req.AddUnitTypeRequirement(unitType2); |
321 req.AddUnitTypeRequirement(unitType3); | 321 req.AddUnitTypeRequirement(unitType3); |
322 Assert.That(req.GetAllowsAddingMessage(unitType3, army), Is.EqualTo("Army contains " + unitType1.Name + " and so must contain: 1 × " + unitType2.Name + " (would have 0).")); | 322 Assert.That(req.GetAllowsAddingMessage(unitType3, army), Is.EqualTo("Army would contain " + unitType1.Name + " and so must contain: 1 × " + unitType2.Name + " (would have 0).")); |
323 } | 323 } |
324 | 324 |
325 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) | 325 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) |
326 { | 326 { |
327 army.AddUnit(CreateUnitOfType(unitType, army)); | 327 army.AddUnit(CreateUnitOfType(unitType, army)); |