Mercurial > repos > IBBoard.WarFoundry.API.Tests
comparison API/Objects/Requirement/UnitRequiresNUnitsForMUnitsRequirementTests.cs @ 214:1674a499168e
Re #379:
* Make all tests test both Unit and UnitType by modifying abstract class's helper methods
* Re-implement UnitRequiresAtLeastNUnitsRequirementTest tests (adding and validation)
* Remove unused tests from Requires...
TODO: Re-implement equality testing
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 26 Feb 2012 20:18:45 +0000 |
parents | 325943cb1db0 |
children | 9bf34e88da89 |
comparison
equal
deleted
inserted
replaced
213:0416df2ab39b | 214:1674a499168e |
---|---|
27 unitType3 = new MockUnitType("type3", "Unit Type 3"); | 27 unitType3 = new MockUnitType("type3", "Unit Type 3"); |
28 mockRace.AddUnitType(unitType3); | 28 mockRace.AddUnitType(unitType3); |
29 } | 29 } |
30 | 30 |
31 [Test()] | 31 [Test()] |
32 public void TestAddingUnitWithNoUnitsAndOneUnitTypeRequiredFails() | |
33 { | |
34 Army army = new Army(mockRace, "Test", 1000); | |
35 Unit unit = CreateUnitOfType(unitType1, army); | |
36 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); | |
37 req.AddUnitTypeRequirement(unitType2); | |
38 Assert_That__FailsAdding(req, unit, army, "Army must contain: 1 × " + unitType2.Name + " for every 1 × " + unitType1.Name + " (would have 0 for 1)."); | |
39 } | |
40 | |
41 [Test()] | |
42 public void TestAddingUnitTypeWithNoUnitsAndOneUnitTypeRequiredFails() | 32 public void TestAddingUnitTypeWithNoUnitsAndOneUnitTypeRequiredFails() |
43 { | 33 { |
44 Army army = new Army(mockRace, "Test", 1000); | 34 Army army = new Army(mockRace, "Test", 1000); |
45 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); | 35 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); |
46 req.AddUnitTypeRequirement(unitType2); | 36 req.AddUnitTypeRequirement(unitType2); |
47 Assert_That__FailsAdding(req, unitType1, army, "Army must contain: 1 × " + unitType2.Name + " for every 1 × " + unitType1.Name + " (would have 0 for 1)."); | 37 Assert_That__FailsAdding(req, unitType1, army, "Army must contain: 1 × " + unitType2.Name + " for every 1 × " + unitType1.Name + " (would have 0 for 1)."); |
48 } | 38 } |
49 | 39 |
50 [Test()] | 40 [Test()] |
51 public void TestAddingUnitWithOneUnitAndOneUnitTypeRequiredPasses() | |
52 { | |
53 Army army = new Army(mockRace, "Test", 1000); | |
54 AddUnitOfTypeToArmy(unitType2, army); | |
55 Unit unit = CreateUnitOfType(unitType1, army); | |
56 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); | |
57 req.AddUnitTypeRequirement(unitType2); | |
58 Assert_That__PassesAdding(req, unit, army); | |
59 } | |
60 | |
61 [Test()] | |
62 public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequiredPasses() | 41 public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequiredPasses() |
63 { | 42 { |
64 Army army = new Army(mockRace, "Test", 1000); | 43 Army army = new Army(mockRace, "Test", 1000); |
65 AddUnitOfTypeToArmy(unitType2, army); | 44 AddUnitOfTypeToArmy(unitType2, army); |
66 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); | 45 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); |
67 req.AddUnitTypeRequirement(unitType2); | 46 req.AddUnitTypeRequirement(unitType2); |
68 Assert_That__PassesAdding(req, unitType1, army); | 47 Assert_That__PassesAdding(req, unitType1, army); |
69 } | 48 } |
70 | 49 |
71 [Test()] | 50 [Test()] |
72 public void TestAddingUnitWithOneUnitAndOneUnitTypeRequiredPassesWhenAddingRequiredUnit() | |
73 { | |
74 Army army = new Army(mockRace, "Test", 1000); | |
75 AddUnitOfTypeToArmy(unitType1, army); | |
76 Unit unit = CreateUnitOfType(unitType2, army); | |
77 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); | |
78 req.AddUnitTypeRequirement(unitType2); | |
79 Assert_That__PassesAdding(req, unit, army); | |
80 } | |
81 | |
82 [Test()] | |
83 public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequiredPassesWhenAddingRequiredUnitType() | 51 public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequiredPassesWhenAddingRequiredUnitType() |
84 { | 52 { |
85 Army army = new Army(mockRace, "Test", 1000); | 53 Army army = new Army(mockRace, "Test", 1000); |
86 AddUnitOfTypeToArmy(unitType1, army); | 54 AddUnitOfTypeToArmy(unitType1, army); |
87 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); | 55 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); |
149 { | 117 { |
150 Army army = new Army(mockRace, "Test", 1000); | 118 Army army = new Army(mockRace, "Test", 1000); |
151 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); | 119 UnitRequiresNUnitsForMUnitsRequirement req = new UnitRequiresNUnitsForMUnitsRequirement(unitType1); |
152 req.AddUnitTypeRequirement(unitType2); | 120 req.AddUnitTypeRequirement(unitType2); |
153 Assert_That__AddingNotApplicable(req, unitType3, army); | 121 Assert_That__AddingNotApplicable(req, unitType3, army); |
154 Assert_That__AddingNotApplicable(req, CreateUnitOfType(unitType3, army), army); | |
155 Assert_That__AddingNotApplicable(req, unitType2, army); | 122 Assert_That__AddingNotApplicable(req, unitType2, army); |
156 Assert_That__AddingNotApplicable(req, CreateUnitOfType(unitType2, army), army); | |
157 } | 123 } |
158 | 124 |
159 [Test] | 125 [Test] |
160 public void TestRequirementNotApplicableAfterAddingLimitedUnit() | 126 public void TestRequirementNotApplicableAfterAddingLimitedUnit() |
161 { | 127 { |