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));