comparison API/Objects/Requirement/UnitRequiresAtLeastNUnitsRequirementTest.cs @ 208:c323770e61c2

Re #379: Fix validation of requirements to check for unit * Rename classes in tests to match API changes * Alter tests to match new API (all classes require at least one UnitType that they're relevant to now)
author IBBoard <dev@ibboard.co.uk>
date Wed, 22 Feb 2012 20:48:40 +0000
parents 27f163bf884a
children 325943cb1db0
comparison
equal deleted inserted replaced
207:27f163bf884a 208:c323770e61c2
211 [Test] 211 [Test]
212 public void TestAddingMinNumberUnitTypePassesRequirement() 212 public void TestAddingMinNumberUnitTypePassesRequirement()
213 { 213 {
214 Army army = new Army(mockRace, "Test", 1000); 214 Army army = new Army(mockRace, "Test", 1000);
215 AddUnitOfTypeToArmy(unitType1, army); 215 AddUnitOfTypeToArmy(unitType1, army);
216 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); 216 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1);
217 req.AddUnitTypeRequirement(unitType2, 2); 217 req.AddUnitTypeRequirement(unitType2, 2);
218 Assert.That(req.AllowsAdding(unitType2, army), Is.EqualTo(Validation.Failed)); 218 Assert.That(req.AllowsAdding(unitType2, army), Is.EqualTo(Validation.Failed));
219 AddUnitOfTypeToArmy(unitType2, army); 219 AddUnitOfTypeToArmy(unitType2, army);
220 Assert.That(req.AllowsAdding(unitType2, army), Is.EqualTo(Validation.Passed)); 220 Assert.That(req.AllowsAdding(unitType2, army), Is.EqualTo(Validation.Passed));
221 } 221 }
224 public void TestValidationMessageIsBlankForPass() 224 public void TestValidationMessageIsBlankForPass()
225 { 225 {
226 Army army = new Army(mockRace, "Test", 1000); 226 Army army = new Army(mockRace, "Test", 1000);
227 AddUnitOfTypeToArmy(unitType1, army); 227 AddUnitOfTypeToArmy(unitType1, army);
228 AddUnitOfTypeToArmy(unitType2, army); 228 AddUnitOfTypeToArmy(unitType2, army);
229 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); 229 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1);
230 req.AddUnitTypeRequirement(unitType2); 230 req.AddUnitTypeRequirement(unitType2);
231 Assert.That(req.GetValidationMessage(army), Is.Empty); 231 Assert.That(req.GetValidationMessage(army), Is.Empty);
232 } 232 }
233 233
234 [Test] 234 [Test]
235 public void TestValidationMessageIsCorrectForFailWithOneUnitRequired() 235 public void TestValidationMessageIsCorrectForFailWithOneUnitRequired()
236 { 236 {
237 Army army = new Army(mockRace, "Test", 1000); 237 Army army = new Army(mockRace, "Test", 1000);
238 AddUnitOfTypeToArmy(unitType1, army); 238 AddUnitOfTypeToArmy(unitType1, army);
239 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); 239 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1);
240 req.AddUnitTypeRequirement(unitType2); 240 req.AddUnitTypeRequirement(unitType2);
241 Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army must contain: 1 × " + unitType2.Name + " (have 0).")); 241 Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army must contain: 1 × " + unitType2.Name + " (have 0)."));
242 } 242 }
243 243
244 [Test] 244 [Test]
245 public void TestValidationMessageIsCorrectForFailWithTwoOfOneUnitRequired() 245 public void TestValidationMessageIsCorrectForFailWithTwoOfOneUnitRequired()
246 { 246 {
247 Army army = new Army(mockRace, "Test", 1000); 247 Army army = new Army(mockRace, "Test", 1000);
248 AddUnitOfTypeToArmy(unitType1, army); 248 AddUnitOfTypeToArmy(unitType1, army);
249 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); 249 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1);
250 req.AddUnitTypeRequirement(unitType2, 2); 250 req.AddUnitTypeRequirement(unitType2, 2);
251 Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army must contain: 2 × " + unitType2.Name + " (have 0).")); 251 Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army must contain: 2 × " + unitType2.Name + " (have 0)."));
252 } 252 }
253 253
254 [Test] 254 [Test]
255 public void TestValidationMessageIsCorrectForFailWithTwoUnitsRequired() 255 public void TestValidationMessageIsCorrectForFailWithTwoUnitsRequired()
256 { 256 {
257 Army army = new Army(mockRace, "Test", 1000); 257 Army army = new Army(mockRace, "Test", 1000);
258 AddUnitOfTypeToArmy(unitType1, army); 258 AddUnitOfTypeToArmy(unitType1, army);
259 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); 259 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1);
260 req.AddUnitTypeRequirement(unitType2); 260 req.AddUnitTypeRequirement(unitType2);
261 req.AddUnitTypeRequirement(unitType3); 261 req.AddUnitTypeRequirement(unitType3);
262 Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army must contain: 1 × " + unitType2.Name + " (have 0); 1 × " + unitType3.Name + " (have 0).")); 262 Assert.That(req.GetValidationMessage(army), Is.EqualTo("Army must contain: 1 × " + unitType2.Name + " (have 0); 1 × " + unitType3.Name + " (have 0)."));
263 } 263 }
264 264
265 [Test] 265 [Test]
266 public void TestAllowsAddingMessageIsBlankForPass() 266 public void TestAllowsAddingMessageIsBlankForPass()
267 { 267 {
268 Army army = new Army(mockRace, "Test", 1000); 268 Army army = new Army(mockRace, "Test", 1000);
269 AddUnitOfTypeToArmy(unitType1, army); 269 AddUnitOfTypeToArmy(unitType1, army);
270 RequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1); 270 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1);
271 Assert.That(req.GetAllowsAddingMessage(unitType1, army), Is.Empty); 271 Assert.That(req.GetAllowsAddingMessage(unitType1, army), Is.Empty);
272 } 272 }
273 273
274 [Test] 274 [Test]
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 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(unitType1);
279 req.AddUnitTypeRequirement(unitType2, 2); 279 req.AddUnitTypeRequirement(unitType2, 2);
280 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army must contain: 2 × " + unitType2.Name + " (would have 1).")); 280 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army 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 UnitRequiresAtLeastNUnitsRequirement 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 must contain: 1 × " + unitType3.Name + " (would have 0).")); 290 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army 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 UnitRequiresAtLeastNUnitsRequirement 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 must contain: 1 × " + unitType2.Name + " (would have 0).")); 300 Assert.That(req.GetAllowsAddingMessage(unitType3, army), Is.EqualTo("Army 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 UnitRequiresAtLeastNUnitsRequirement 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 must contain: 1 × " + unitType3.Name + " (would have 0).")); 311 Assert.That(req.GetAllowsAddingMessage(unitType2, army), Is.EqualTo("Army 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 UnitRequiresAtLeastNUnitsRequirement 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 must contain: 1 × " + unitType2.Name + " (would have 0).")); 322 Assert.That(req.GetAllowsAddingMessage(unitType3, army), Is.EqualTo("Army must contain: 1 × " + unitType2.Name + " (would have 0)."));
323 } 323 }
324 324