comparison API/Objects/Requirement/RequiresAtLeastNUnitsRequirementTest.cs @ 116:49fb69ea13f2

Re #27: Unit requirements * Switch to enumeration and update tests as appropriate
author IBBoard <dev@ibboard.co.uk>
date Mon, 04 Apr 2011 19:05:47 +0000
parents 788ef54f5b5a
children 14a007cf2446
comparison
equal deleted inserted replaced
115:bcca07bee8ea 116:49fb69ea13f2
32 public void TestAddingUnitWithNoUnitsAndOneUnitTypeRequired() 32 public void TestAddingUnitWithNoUnitsAndOneUnitTypeRequired()
33 { 33 {
34 Army army = new Army(mockRace, "Test", 1000); 34 Army army = new Army(mockRace, "Test", 1000);
35 Unit unit = CreateUnitOfType(unitType1, army); 35 Unit unit = CreateUnitOfType(unitType1, army);
36 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); 36 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2);
37 Assert.That(req.AllowsAdding(unit, army), Is.False); 37 Assert.That(req.AllowsAdding(unit, army), Is.EqualTo(Validation.Failed));
38 } 38 }
39 39
40 [Test()] 40 [Test()]
41 public void TestAddingUnitWithOneUnitAndOneUnitTypeRequired() 41 public void TestAddingUnitWithOneUnitAndOneUnitTypeRequired()
42 { 42 {
43 Army army = new Army(mockRace, "Test", 1000); 43 Army army = new Army(mockRace, "Test", 1000);
44 AddUnitOfTypeToArmy(unitType2, army); 44 AddUnitOfTypeToArmy(unitType2, army);
45 Unit unit = CreateUnitOfType(unitType1, army); 45 Unit unit = CreateUnitOfType(unitType1, army);
46 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); 46 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2);
47 Assert.That(req.AllowsAdding(unit, army), Is.True); 47 Assert.That(req.AllowsAdding(unit, army), Is.EqualTo(Validation.Passed));
48 } 48 }
49 49
50 [Test()] 50 [Test()]
51 public void TestAddingUnitTypeWithNoUnitsAndOneUnitTypeRequired() 51 public void TestAddingUnitTypeWithNoUnitsAndOneUnitTypeRequired()
52 { 52 {
53 Army army = new Army(mockRace, "Test", 1000); 53 Army army = new Army(mockRace, "Test", 1000);
54 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); 54 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2);
55 Assert.That(req.AllowsAdding(unitType1, army), Is.False); 55 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Failed));
56 } 56 }
57 57
58 [Test()] 58 [Test()]
59 public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequired() 59 public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequired()
60 { 60 {
61 Army army = new Army(mockRace, "Test", 1000); 61 Army army = new Army(mockRace, "Test", 1000);
62 AddUnitOfTypeToArmy(unitType2, army); 62 AddUnitOfTypeToArmy(unitType2, army);
63 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); 63 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2);
64 Assert.That(req.AllowsAdding(unitType1, army), Is.True); 64 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Passed));
65 } 65 }
66 66
67 [Test()] 67 [Test()]
68 public void TestAddingUnitTypeWithNoUnitsAndTwoUnitTypesRequired() 68 public void TestAddingUnitTypeWithNoUnitsAndTwoUnitTypesRequired()
69 { 69 {
70 Army army = new Army(mockRace, "Test", 1000); 70 Army army = new Army(mockRace, "Test", 1000);
71 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2, unitType3); 71 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2, unitType3);
72 Assert.That(req.AllowsAdding(unitType1, army), Is.False); 72 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Failed));
73 } 73 }
74 74
75 [Test()] 75 [Test()]
76 public void TestAddingUnitTypeWithOneUnitAndTwoUnitTypesRequired() 76 public void TestAddingUnitTypeWithOneUnitAndTwoUnitTypesRequired()
77 { 77 {
78 Army army = new Army(mockRace, "Test", 1000); 78 Army army = new Army(mockRace, "Test", 1000);
79 AddUnitOfTypeToArmy(unitType2, army); 79 AddUnitOfTypeToArmy(unitType2, army);
80 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2, unitType3); 80 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2, unitType3);
81 Assert.That(req.AllowsAdding(unitType1, army), Is.False); 81 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Failed));
82 } 82 }
83 83
84 [Test()] 84 [Test()]
85 public void TestAddingUnitTypeWithBothUnitsAndTwoUnitTypesRequired() 85 public void TestAddingUnitTypeWithBothUnitsAndTwoUnitTypesRequired()
86 { 86 {
87 Army army = new Army(mockRace, "Test", 1000); 87 Army army = new Army(mockRace, "Test", 1000);
88 AddUnitOfTypeToArmy(unitType2, army); 88 AddUnitOfTypeToArmy(unitType2, army);
89 AddUnitOfTypeToArmy(unitType3, army); 89 AddUnitOfTypeToArmy(unitType3, army);
90 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2, unitType3); 90 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2, unitType3);
91 Assert.That(req.AllowsAdding(unitType1, army), Is.True); 91 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Passed));
92 } 92 }
93 93
94 [Test()] 94 [Test()]
95 public void TestAddingUnitTypeWithOneUnitAndTwoOfOneUnitTypeRequired() 95 public void TestAddingUnitTypeWithOneUnitAndTwoOfOneUnitTypeRequired()
96 { 96 {
97 Army army = new Army(mockRace, "Test", 1000); 97 Army army = new Army(mockRace, "Test", 1000);
98 AddUnitOfTypeToArmy(unitType2, army); 98 AddUnitOfTypeToArmy(unitType2, army);
99 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(); 99 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement();
100 req.AddUnitTypeRequirement(unitType2, 2); 100 req.AddUnitTypeRequirement(unitType2, 2);
101 Assert.That(req.AllowsAdding(unitType1, army), Is.False); 101 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Failed));
102 } 102 }
103 103
104 [Test()] 104 [Test()]
105 public void TestAddingUnitTypeWithTwoUnitsAndTwoOfOneUnitTypeRequired() 105 public void TestAddingUnitTypeWithTwoUnitsAndTwoOfOneUnitTypeRequired()
106 { 106 {
107 Army army = new Army(mockRace, "Test", 1000); 107 Army army = new Army(mockRace, "Test", 1000);
108 AddUnitOfTypeToArmy(unitType2, army); 108 AddUnitOfTypeToArmy(unitType2, army);
109 AddUnitOfTypeToArmy(unitType2, army); 109 AddUnitOfTypeToArmy(unitType2, army);
110 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(); 110 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement();
111 req.AddUnitTypeRequirement(unitType2, 2); 111 req.AddUnitTypeRequirement(unitType2, 2);
112 Assert.That(req.AllowsAdding(unitType1, army), Is.True); 112 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Passed));
113 } 113 }
114 114
115 [Test()] 115 [Test()]
116 public void TestAddingUnitTypeRequirementWithNoNumberDefaultsToHavingOne() 116 public void TestAddingUnitTypeRequirementWithNoNumberDefaultsToHavingOne()
117 { 117 {
118 Army army = new Army(mockRace, "Test", 1000); 118 Army army = new Army(mockRace, "Test", 1000);
119 AddUnitOfTypeToArmy(unitType2, army); 119 AddUnitOfTypeToArmy(unitType2, army);
120 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(); 120 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement();
121 req.AddUnitTypeRequirement(unitType2); 121 req.AddUnitTypeRequirement(unitType2);
122 Assert.That(req.AllowsAdding(unitType1, army), Is.True); 122 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Passed));
123 } 123 }
124 124
125 [Test()] 125 [Test()]
126 public void TestValidityOfArmyWithNoUnitsAndOneUnitTypeRequired() 126 public void TestValidityOfArmyWithNoUnitsAndOneUnitTypeRequired()
127 { 127 {
128 Army army = new Army(mockRace, "Test", 1000); 128 Army army = new Army(mockRace, "Test", 1000);
129 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); 129 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2);
130 Assert.That(req.ValidatesArmy(army), Is.False); 130 Assert.That(req.ValidatesArmy(army), Is.EqualTo(Validation.Failed));
131 } 131 }
132 132
133 [Test()] 133 [Test()]
134 public void TestValidityOfArmyWithOneUnitAndOneUnitTypeRequired() 134 public void TestValidityOfArmyWithOneUnitAndOneUnitTypeRequired()
135 { 135 {
136 Army army = new Army(mockRace, "Test", 1000); 136 Army army = new Army(mockRace, "Test", 1000);
137 AddUnitOfTypeToArmy(unitType2, army); 137 AddUnitOfTypeToArmy(unitType2, army);
138 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); 138 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2);
139 Assert.That(req.ValidatesArmy(army), Is.True); 139 Assert.That(req.ValidatesArmy(army), Is.EqualTo(Validation.Passed));
140 } 140 }
141 141
142 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) 142 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army)
143 { 143 {
144 army.AddUnit(CreateUnitOfType(unitType, army)); 144 army.AddUnit(CreateUnitOfType(unitType, army));