annotate API/Objects/Requirement/RequirementHandlerTests.cs @ 135:8c3bba80a25e

Re #27: Unit requirements * Add tests for mixed requirements * Add tests for adding units
author IBBoard <dev@ibboard.co.uk>
date Mon, 25 Apr 2011 10:31:49 +0000
parents f64742dde5f9
children 6fdb76d48e04
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
133
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
1 // This file (RequirementHandlerTests.cs) is a part of the IBBoard.WarFoundry.API.Tests project and is copyright 2011 IBBoard
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
2 //
f64742dde5f9 Re #27: Unit requirements
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.
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
4 using System;
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
5 using NUnit.Framework;
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
6 using IBBoard.WarFoundry.API.Objects.Mock;
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
7 using IBBoard.WarFoundry.API.Objects;
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
8 using NUnit.Framework.SyntaxHelpers;
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
9 using IBBoard.WarFoundry.API.Objects.Requirement.Mock;
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
10
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
11 namespace IBBoard.WarFoundry.API.Objects.Requirement
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
12 {
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
13 [TestFixture()]
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
14 public class RequirementHandlerTests
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
15 {
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
16 [Test()]
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
17 public void TestArmyWithNoRequirementsValidates()
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
18 {
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
19 MockRace race = new MockRace();
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
20 Army army = new Army(race, "test", 1000);
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
21 Assert.That(RequirementHandler.ValidateArmy(army), Is.EqualTo(Validation.Passed));
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
22 }
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
23
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
24 [Test()]
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
25 public void TestArmyWithFailingRequirementFails()
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
26 {
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
27 MockRace race = new MockRace();
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
28 MockUnitType mockUnitType = new MockUnitType();
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
29 mockUnitType.AddRequirement(new FailingRequirement());
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
30 race.AddUnitType(mockUnitType);
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
31 Army army = new Army(race, "test", 1000);
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
32 Assert.That(RequirementHandler.ValidateArmy(army), Is.EqualTo(Validation.Failed));
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
33 }
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
34
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
35 [Test()]
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
36 public void TestArmyWithPassingRequirementPasses()
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
37 {
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
38 MockRace race = new MockRace();
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
39 MockUnitType mockUnitType = new MockUnitType();
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
40 mockUnitType.AddRequirement(new PassingRequirement());
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
41 race.AddUnitType(mockUnitType);
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
42 Army army = new Army(race, "test", 1000);
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
43 Assert.That(RequirementHandler.ValidateArmy(army), Is.EqualTo(Validation.Passed));
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
44 }
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
45
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
46 [Test()]
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
47 public void TestArmyWithNotApplicableRequirementPasses()
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
48 {
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
49 MockRace race = new MockRace();
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
50 MockUnitType mockUnitType = new MockUnitType();
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
51 mockUnitType.AddRequirement(new NotApplicableRequirement());
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
52 race.AddUnitType(mockUnitType);
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
53 Army army = new Army(race, "test", 1000);
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
54 Assert.That(RequirementHandler.ValidateArmy(army), Is.EqualTo(Validation.Passed));
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
55 }
135
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
56
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
57 [Test()]
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
58 public void TestArmyWithMixedRequirementsWithFailFails()
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
59 {
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
60 MockRace race = new MockRace();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
61 MockUnitType mockUnitType = new MockUnitType();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
62 mockUnitType.AddRequirement(new PassingRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
63 mockUnitType.AddRequirement(new FailingRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
64 race.AddUnitType(mockUnitType);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
65 Army army = new Army(race, "test", 1000);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
66 Assert.That(RequirementHandler.ValidateArmy(army), Is.EqualTo(Validation.Failed));
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
67 }
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
68
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
69 [Test()]
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
70 public void TestArmyWithMixedRequirementsWithFailInOtherOrderFails()
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
71 {
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
72 MockRace race = new MockRace();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
73 MockUnitType mockUnitType = new MockUnitType();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
74 mockUnitType.AddRequirement(new FailingRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
75 mockUnitType.AddRequirement(new PassingRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
76 race.AddUnitType(mockUnitType);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
77 Army army = new Army(race, "test", 1000);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
78 Assert.That(RequirementHandler.ValidateArmy(army), Is.EqualTo(Validation.Failed));
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
79 }
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
80
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
81 [Test()]
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
82 public void TestArmyWithMixedRequirementsWithNoFailsPasses()
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
83 {
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
84 MockRace race = new MockRace();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
85 MockUnitType mockUnitType = new MockUnitType();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
86 mockUnitType.AddRequirement(new PassingRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
87 mockUnitType.AddRequirement(new NotApplicableRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
88 race.AddUnitType(mockUnitType);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
89 Army army = new Army(race, "test", 1000);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
90 Assert.That(RequirementHandler.ValidateArmy(army), Is.EqualTo(Validation.Passed));
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
91 }
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
92
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
93 [Test()]
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
94 public void TestCanAddToArmyWithNoRequirementsValidates()
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
95 {
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
96 MockRace race = new MockRace();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
97 Army army = new Army(race, "test", 1000);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
98 Assert.That(RequirementHandler.AllowsAdding(new MockUnitType(), army), Is.EqualTo(Validation.Passed));
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
99 }
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
100
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
101 [Test()]
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
102 public void TestCanAddToArmyWithFailingRequirementFails()
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
103 {
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
104 MockRace race = new MockRace();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
105 MockUnitType mockUnitType = new MockUnitType();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
106 mockUnitType.AddRequirement(new FailingRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
107 race.AddUnitType(mockUnitType);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
108 Army army = new Army(race, "test", 1000);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
109 Assert.That(RequirementHandler.AllowsAdding(mockUnitType, army), Is.EqualTo(Validation.Failed));
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
110 }
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
111
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
112 [Test()]
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
113 public void TestCanAddToArmyWithPassingRequirementPasses()
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
114 {
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
115 MockRace race = new MockRace();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
116 MockUnitType mockUnitType = new MockUnitType();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
117 mockUnitType.AddRequirement(new PassingRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
118 race.AddUnitType(mockUnitType);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
119 Army army = new Army(race, "test", 1000);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
120 Assert.That(RequirementHandler.AllowsAdding(mockUnitType, army), Is.EqualTo(Validation.Passed));
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
121 }
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
122
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
123 [Test()]
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
124 public void TestCanAddToArmyWithNotApplicableRequirementPasses()
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
125 {
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
126 MockRace race = new MockRace();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
127 MockUnitType mockUnitType = new MockUnitType();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
128 mockUnitType.AddRequirement(new NotApplicableRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
129 race.AddUnitType(mockUnitType);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
130 Army army = new Army(race, "test", 1000);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
131 Assert.That(RequirementHandler.AllowsAdding(mockUnitType, army), Is.EqualTo(Validation.Passed));
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
132 }
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
133
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
134 [Test()]
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
135 public void TestCanAddToArmyWithMixedRequirementsWithFailFails()
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
136 {
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
137 MockRace race = new MockRace();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
138 MockUnitType mockUnitType = new MockUnitType();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
139 mockUnitType.AddRequirement(new PassingRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
140 mockUnitType.AddRequirement(new FailingRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
141 race.AddUnitType(mockUnitType);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
142 Army army = new Army(race, "test", 1000);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
143 Assert.That(RequirementHandler.AllowsAdding(mockUnitType, army), Is.EqualTo(Validation.Failed));
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
144 }
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
145
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
146 [Test()]
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
147 public void TestCanAddToArmyWithMixedRequirementsWithFailInOtherOrderFails()
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
148 {
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
149 MockRace race = new MockRace();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
150 MockUnitType mockUnitType = new MockUnitType();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
151 mockUnitType.AddRequirement(new FailingRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
152 mockUnitType.AddRequirement(new PassingRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
153 race.AddUnitType(mockUnitType);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
154 Army army = new Army(race, "test", 1000);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
155 Assert.That(RequirementHandler.AllowsAdding(mockUnitType, army), Is.EqualTo(Validation.Failed));
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
156 }
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
157
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
158 [Test()]
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
159 public void TestCanAddToArmyWithMixedRequirementsWithNoFailsPasses()
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
160 {
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
161 MockRace race = new MockRace();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
162 MockUnitType mockUnitType = new MockUnitType();
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
163 mockUnitType.AddRequirement(new PassingRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
164 mockUnitType.AddRequirement(new NotApplicableRequirement());
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
165 race.AddUnitType(mockUnitType);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
166 Army army = new Army(race, "test", 1000);
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
167 Assert.That(RequirementHandler.AllowsAdding(mockUnitType, army), Is.EqualTo(Validation.Passed));
8c3bba80a25e Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents: 133
diff changeset
168 }
133
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
169 }
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
170 }
f64742dde5f9 Re #27: Unit requirements
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
171