Mercurial > repos > IBDev-IBBoard.WarFoundry.API.Tests
annotate API/Objects/Requirement/RaceRequiresAtLeastNUnitsRequirementTest.cs @ 215:7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
* Add tests for requiring minimum number of units in army
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 04 Mar 2012 20:35:21 +0000 |
parents | |
children | 9bf34e88da89 |
rev | line source |
---|---|
215
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 // This file (RaceRequiresAtLeastNUnitsRequirementTest.cs) is a part of the IBBoard.WarFoundry.API.Tests project and is copyright 2011 IBBoard |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 // |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
3 // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license. |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
4 using System; |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
5 using NUnit.Framework; |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 using IBBoard.WarFoundry.API.Objects.Mock; |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 using NUnit.Framework.SyntaxHelpers; |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
9 namespace IBBoard.WarFoundry.API.Objects.Requirement |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 [TestFixture()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 public class RaceRequiresAtLeastNUnitsRequirementTest : AbstractUnitRequirementTest<Race> |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 private MockRace mockRace; |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 private UnitType unitType1; |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 private UnitType unitType2; |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
17 private UnitType unitType3; |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
18 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
19 [TestFixtureSetUp()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
20 public void SetupRace() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
21 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
22 mockRace = new MockRace(); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
23 unitType1 = new MockUnitType("type1", "Unit Type 1"); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
24 mockRace.AddUnitType(unitType1); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
25 unitType2 = new MockUnitType("type2", "Unit Type 2"); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
26 mockRace.AddUnitType(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
27 unitType3 = new MockUnitType("type3", "Unit Type 3"); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
28 mockRace.AddUnitType(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
29 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
30 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
31 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
32 public void TestAddingUnitTypeWithNoUnitAndOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
33 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
34 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
35 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
36 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
37 Assert_That__PassesAdding(req, unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
38 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
39 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
40 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
41 public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
42 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
43 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
44 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
45 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
46 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
47 Assert_That__PassesAdding(req, unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
48 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
49 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
50 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
51 public void TestAddingUnitTypeWithNoUnitsAndTwoUnitTypesRequiredFails() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
52 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
53 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
54 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
55 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
56 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
57 Assert_That__FailsAdding(req, unitType2, army, "Army must contain: 1 × " + unitType3.Name + " (would have 0)."); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
58 Assert_That__FailsAdding(req, unitType3, army, "Army must contain: 1 × " + unitType2.Name + " (would have 0)."); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
59 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
60 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
61 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
62 public void TestAddingUnitTypeWithOneUnitAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
63 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
64 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
65 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
66 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
67 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
68 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
69 Assert_That__FailsAdding(req, unitType2, army, "Army must contain: 1 × " + unitType3.Name + " (would have 0)."); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
70 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
71 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
72 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
73 public void TestAddingUnitTypeWithOtherOneUnitAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
74 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
75 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
76 AddUnitOfTypeToArmy(unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
77 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
78 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
79 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
80 Assert_That__PassesAdding(req, unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
81 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
82 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
83 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
84 public void TestAddingOtherUnitTypeWithOneUnitAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
85 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
86 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
87 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
88 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
89 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
90 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
91 Assert_That__PassesAdding(req, unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
92 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
93 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
94 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
95 public void TestAddingOtherUnitTypeWithOtherOneUnitAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
96 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
97 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
98 AddUnitOfTypeToArmy(unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
99 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
100 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
101 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
102 Assert_That__FailsAdding(req, unitType3, army, "Army must contain: 1 × " + unitType2.Name + " (would have 0)."); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
103 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
104 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
105 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
106 public void TestAddingUnitTypeWithBothUnitsAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
107 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
108 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
109 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
110 AddUnitOfTypeToArmy(unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
111 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
112 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
113 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
114 Assert_That__PassesAdding(req, unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
115 Assert_That__PassesAdding(req, unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
116 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
117 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
118 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
119 public void TestAddingUnitTypeWithOneUnitAndTwoOfOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
120 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
121 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
122 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
123 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
124 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
125 Assert_That__PassesAdding(req, unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
126 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
127 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
128 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
129 public void TestAddingUnrelatedUnitTypeValidatesAsNotApplicable() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
130 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
131 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
132 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
133 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
134 Assert_That__AddingNotApplicable(req, unitType1, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
135 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
136 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
137 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
138 public void TestAddingUnrelatedUnitTypeValidatesAsNotApplicableWhenRequirementsNotMet() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
139 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
140 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
141 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
142 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
143 Assert_That__AddingNotApplicable(req, unitType1, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
144 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
145 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
146 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
147 public void TestAddingUnitTypeWithTwoUnitsAndTwoOfOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
148 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
149 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
150 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
151 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
152 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
153 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
154 Assert_That__PassesAdding(req, unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
155 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
156 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
157 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
158 public void TestAddingUnitTypeRequirementWithNoNumberDefaultsToHavingOne() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
159 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
160 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
161 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
162 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
163 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
164 Assert_That__PassesAdding(req, unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
165 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
166 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
167 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
168 public void TestAddingUnitTypeMakesRequirementPass() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
169 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
170 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
171 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
172 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
173 Assert_That__FailsAdding(req, unitType2, army, "Army must contain: 2 × " + unitType2.Name + " (would have 1)."); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
174 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
175 Assert_That__PassesAdding(req, unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
176 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
177 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
178 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
179 public void TestValidatingWithNoUnitsAndOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
180 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
181 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
182 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
183 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
184 Assert_That__ValidationFails(req, army, "Army must contain: 1 × " + unitType2.Name + " (have 0)."); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
185 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
186 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
187 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
188 public void TestValidatingWithOneUnitAndOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
189 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
190 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
191 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
192 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
193 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
194 Assert_That__ValidationPasses(req, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
195 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
196 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
197 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
198 public void TestValidatingWithNoUnitsAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
199 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
200 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
201 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
202 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
203 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
204 Assert_That__ValidationFails(req, army, "Army must contain: 1 × " + unitType2.Name + " (have 0); 1 × " + unitType3.Name + " (have 0)."); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
205 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
206 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
207 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
208 public void TestValidatingWithOneUnitAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
209 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
210 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
211 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
212 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
213 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
214 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
215 Assert_That__ValidationFails(req, army, "Army must contain: 1 × " + unitType3.Name + " (have 0)."); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
216 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
217 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
218 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
219 public void TestValidatingWithOtherOneUnitAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
220 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
221 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
222 AddUnitOfTypeToArmy(unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
223 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
224 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
225 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
226 AddUnitOfTypeToArmy(unitType1, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
227 Assert_That__ValidationFails(req, army, "Army must contain: 1 × " + unitType2.Name + " (have 0)."); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
228 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
229 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
230 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
231 public void TestValidatingWithBothUnitsAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
232 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
233 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
234 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
235 AddUnitOfTypeToArmy(unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
236 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
237 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
238 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
239 Assert_That__ValidationPasses(req, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
240 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
241 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
242 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
243 public void TestValidatingWithOneUnitAndTwoOfOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
244 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
245 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
246 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
247 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
248 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
249 Assert_That__ValidationFails(req, army, "Army must contain: 2 × " + unitType2.Name + " (have 1)."); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
250 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
251 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
252 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
253 public void TestValidatingWithUnrelatedUnitTypeValidatesAsFailed() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
254 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
255 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
256 AddUnitOfTypeToArmy(unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
257 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
258 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
259 Assert_That__ValidationFails(req, army, "Army must contain: 2 × " + unitType2.Name + " (have 0)."); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
260 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
261 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
262 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
263 public void TestValidatingWithTwoUnitsAndTwoOfOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
264 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
265 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
266 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
267 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
268 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
269 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
270 Assert_That__ValidationPasses(req, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
271 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
272 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
273 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
274 public void TestValidatingRequirementWithNoNumberDefaultsToHavingOne() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
275 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
276 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
277 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
278 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
279 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
280 Assert_That__ValidationPasses(req, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
281 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
282 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
283 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
284 public void TestAddingUnitTypeMakesRequirementPassValidating() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
285 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
286 Army army = new Army(mockRace, "Test", 1000); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
287 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
288 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
289 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
290 Assert_That__ValidationFails(req, army, "Army must contain: 2 × " + unitType2.Name + " (have 1)."); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
291 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
292 Assert_That__ValidationPasses(req, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
293 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
294 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
295 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
296 |