Mercurial > repos > IBDev-IBBoard.WarFoundry.API.Tests
annotate API/Objects/Requirement/RaceRequiresAtLeastNUnitsRequirementTest.cs @ 238:e173c5512067
* Update to v2.6 of NUnit and new syntax/API changes
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 28 Apr 2013 19:32:38 +0100 |
parents | 9bf34e88da89 |
children |
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 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 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
|
9 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 [TestFixture()] |
217
9bf34e88da89
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
215
diff
changeset
|
11 public class RaceRequiresAtLeastNUnitsRequirementTest : AbstractRaceUnitRequirementTest<Race, RaceRequiresAtLeastNUnitsRequirement> |
215
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 public void TestAddingUnitTypeWithNoUnitAndOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 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
|
17 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
18 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
19 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
|
20 } |
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 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
23 public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
24 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
25 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
|
26 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
27 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
28 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
29 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
|
30 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
31 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
32 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
33 public void TestAddingUnitTypeWithNoUnitsAndTwoUnitTypesRequiredFails() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
34 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
35 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
|
36 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
37 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
38 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
39 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
|
40 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
|
41 } |
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 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
44 public void TestAddingUnitTypeWithOneUnitAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
45 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
46 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
|
47 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
48 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
49 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
50 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
51 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
|
52 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
53 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
54 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
55 public void TestAddingUnitTypeWithOtherOneUnitAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
56 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
57 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
|
58 AddUnitOfTypeToArmy(unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
59 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
60 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
61 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
62 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
|
63 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
64 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
65 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
66 public void TestAddingOtherUnitTypeWithOneUnitAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
67 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
68 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
|
69 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
70 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
71 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
72 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
73 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
|
74 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
75 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
76 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
77 public void TestAddingOtherUnitTypeWithOtherOneUnitAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
78 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
79 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
|
80 AddUnitOfTypeToArmy(unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
81 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
82 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
83 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
84 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
|
85 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
86 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
87 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
88 public void TestAddingUnitTypeWithBothUnitsAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
89 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
90 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
|
91 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
92 AddUnitOfTypeToArmy(unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
93 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
94 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
95 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
96 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
|
97 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
|
98 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
99 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
100 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
101 public void TestAddingUnitTypeWithOneUnitAndTwoOfOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
102 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
103 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
|
104 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
105 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
106 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
107 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
|
108 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
109 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
110 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
111 public void TestAddingUnrelatedUnitTypeValidatesAsNotApplicable() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
112 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
113 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
|
114 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
115 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
116 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
|
117 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
118 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
119 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
120 public void TestAddingUnrelatedUnitTypeValidatesAsNotApplicableWhenRequirementsNotMet() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
121 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
122 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
|
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__AddingNotApplicable(req, unitType1, 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 TestAddingUnitTypeWithTwoUnitsAndTwoOfOneUnitTypeRequired() |
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 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
133 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
134 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
135 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
136 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
|
137 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
138 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
139 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
140 public void TestAddingUnitTypeRequirementWithNoNumberDefaultsToHavingOne() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
141 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
142 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
|
143 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
144 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
145 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
146 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
|
147 } |
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 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
150 public void TestAddingUnitTypeMakesRequirementPass() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
151 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
152 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
|
153 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
154 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
155 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
|
156 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
157 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
|
158 } |
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 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
161 public void TestValidatingWithNoUnitsAndOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
162 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
163 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
|
164 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
165 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
166 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
|
167 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
168 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
169 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
170 public void TestValidatingWithOneUnitAndOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
171 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
172 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
|
173 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
174 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
175 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
176 Assert_That__ValidationPasses(req, army); |
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 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
179 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
180 public void TestValidatingWithNoUnitsAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
181 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
182 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
|
183 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
184 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
185 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
186 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
|
187 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
188 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
189 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
190 public void TestValidatingWithOneUnitAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
191 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
192 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
|
193 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
194 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
195 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
196 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
197 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
|
198 } |
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 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
201 public void TestValidatingWithOtherOneUnitAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
202 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
203 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
|
204 AddUnitOfTypeToArmy(unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
205 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
206 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
207 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
208 AddUnitOfTypeToArmy(unitType1, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
209 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
|
210 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
211 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
212 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
213 public void TestValidatingWithBothUnitsAndTwoUnitTypesRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
214 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
215 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
|
216 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
217 AddUnitOfTypeToArmy(unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
218 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
219 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
220 req.AddUnitTypeRequirement(unitType3); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
221 Assert_That__ValidationPasses(req, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
222 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
223 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
224 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
225 public void TestValidatingWithOneUnitAndTwoOfOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
226 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
227 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
|
228 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
229 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
230 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
231 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
|
232 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
233 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
234 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
235 public void TestValidatingWithUnrelatedUnitTypeValidatesAsFailed() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
236 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
237 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
|
238 AddUnitOfTypeToArmy(unitType3, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
239 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
240 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
241 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
|
242 } |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
243 |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
244 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
245 public void TestValidatingWithTwoUnitsAndTwoOfOneUnitTypeRequired() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
246 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
247 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
|
248 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
249 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
250 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
251 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
252 Assert_That__ValidationPasses(req, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
253 } |
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 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
256 public void TestValidatingRequirementWithNoNumberDefaultsToHavingOne() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
257 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
258 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
|
259 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
260 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
261 req.AddUnitTypeRequirement(unitType2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
262 Assert_That__ValidationPasses(req, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
263 } |
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 [Test()] |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
266 public void TestAddingUnitTypeMakesRequirementPassValidating() |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
267 { |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
268 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
|
269 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
270 RaceRequiresAtLeastNUnitsRequirement req = new RaceRequiresAtLeastNUnitsRequirement(mockRace); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
271 req.AddUnitTypeRequirement(unitType2, 2); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
272 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
|
273 AddUnitOfTypeToArmy(unitType2, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
274 Assert_That__ValidationPasses(req, army); |
7e7296c0ae1f
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
275 } |
217
9bf34e88da89
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
215
diff
changeset
|
276 |
9bf34e88da89
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
215
diff
changeset
|
277 protected override RaceRequiresAtLeastNUnitsRequirement CreateRequirement(Race requirementOn) |
9bf34e88da89
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
215
diff
changeset
|
278 { |
9bf34e88da89
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
215
diff
changeset
|
279 return new RaceRequiresAtLeastNUnitsRequirement(requirementOn); |
9bf34e88da89
Re #379: Fix validation of requirements to check for unit
IBBoard <dev@ibboard.co.uk>
parents:
215
diff
changeset
|
280 } |
215
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 |