Mercurial > repos > IBBoard.WarFoundry.API.Tests
comparison API/Objects/Requirements/UnitRequiresAtLeastNUnitsRequirementTest.cs @ 104:782494137b58
Re #27: Define unit requirements
* Add tests to cover UnitType, since we'll often be checking if we can create a unit rather than creating and adding it
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 27 Mar 2011 19:09:02 +0000 |
parents | c6562eb62d04 |
children | 9163bd04a3db |
comparison
equal
deleted
inserted
replaced
103:c6562eb62d04 | 104:782494137b58 |
---|---|
24 unitType2 = new MockUnitType("type2", "Unit Type 2"); | 24 unitType2 = new MockUnitType("type2", "Unit Type 2"); |
25 mockRace.AddUnitType(unitType2); | 25 mockRace.AddUnitType(unitType2); |
26 } | 26 } |
27 | 27 |
28 [Test()] | 28 [Test()] |
29 public void TestWithNoUnitsAndOneUnitTypeRequired() | 29 public void TestAddingUnitWithNoUnitsAndOneUnitTypeRequired() |
30 { | 30 { |
31 Army army = new Army(mockRace, "Test", 1000); | 31 Army army = new Army(mockRace, "Test", 1000); |
32 Unit unit = CreateUnitOfType(unitType1, army); | 32 Unit unit = CreateUnitOfType(unitType1, army); |
33 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType2); | 33 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType2); |
34 Assert.That(req.CanAddToArmy(unit, army), Is.False); | 34 Assert.That(req.CanAddToArmy(unit, army), Is.False); |
35 } | 35 } |
36 | 36 |
37 [Test()] | 37 [Test()] |
38 public void TestWithOneUnitAndOneUnitTypeRequired() | 38 public void TestAddingUnitWithOneUnitAndOneUnitTypeRequired() |
39 { | 39 { |
40 Army army = new Army(mockRace, "Test", 1000); | 40 Army army = new Army(mockRace, "Test", 1000); |
41 AddUnitOfTypeToArmy(unitType2, army); | 41 AddUnitOfTypeToArmy(unitType2, army); |
42 Unit unit = CreateUnitOfType(unitType1, army); | 42 Unit unit = CreateUnitOfType(unitType1, army); |
43 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType2); | 43 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType2); |
44 Assert.That(req.CanAddToArmy(unit, army), Is.True); | 44 Assert.That(req.CanAddToArmy(unit, army), Is.True); |
45 } | |
46 | |
47 [Test()] | |
48 public void TestAddingUnitTypeWithNoUnitsAndOneUnitTypeRequired() | |
49 { | |
50 Army army = new Army(mockRace, "Test", 1000); | |
51 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType2); | |
52 Assert.That(req.CanAddToArmy(unitType1, army), Is.False); | |
53 } | |
54 | |
55 [Test()] | |
56 public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequired() | |
57 { | |
58 Army army = new Army(mockRace, "Test", 1000); | |
59 AddUnitOfTypeToArmy(unitType2, army); | |
60 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType2); | |
61 Assert.That(req.CanAddToArmy(unitType1, army), Is.True); | |
45 } | 62 } |
46 | 63 |
47 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) | 64 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) |
48 { | 65 { |
49 army.AddUnit(CreateUnitOfType(unitType, army)); | 66 army.AddUnit(CreateUnitOfType(unitType, army)); |