Mercurial > repos > IBBoard.WarFoundry.API.Tests
comparison API/Objects/Requirement/RequiresAtLeastNUnitsRequirementTest.cs @ 116:49fb69ea13f2
Re #27: Unit requirements
* Switch to enumeration and update tests as appropriate
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Mon, 04 Apr 2011 19:05:47 +0000 |
parents | 788ef54f5b5a |
children | 14a007cf2446 |
comparison
equal
deleted
inserted
replaced
115:bcca07bee8ea | 116:49fb69ea13f2 |
---|---|
32 public void TestAddingUnitWithNoUnitsAndOneUnitTypeRequired() | 32 public void TestAddingUnitWithNoUnitsAndOneUnitTypeRequired() |
33 { | 33 { |
34 Army army = new Army(mockRace, "Test", 1000); | 34 Army army = new Army(mockRace, "Test", 1000); |
35 Unit unit = CreateUnitOfType(unitType1, army); | 35 Unit unit = CreateUnitOfType(unitType1, army); |
36 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); | 36 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); |
37 Assert.That(req.AllowsAdding(unit, army), Is.False); | 37 Assert.That(req.AllowsAdding(unit, army), Is.EqualTo(Validation.Failed)); |
38 } | 38 } |
39 | 39 |
40 [Test()] | 40 [Test()] |
41 public void TestAddingUnitWithOneUnitAndOneUnitTypeRequired() | 41 public void TestAddingUnitWithOneUnitAndOneUnitTypeRequired() |
42 { | 42 { |
43 Army army = new Army(mockRace, "Test", 1000); | 43 Army army = new Army(mockRace, "Test", 1000); |
44 AddUnitOfTypeToArmy(unitType2, army); | 44 AddUnitOfTypeToArmy(unitType2, army); |
45 Unit unit = CreateUnitOfType(unitType1, army); | 45 Unit unit = CreateUnitOfType(unitType1, army); |
46 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); | 46 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); |
47 Assert.That(req.AllowsAdding(unit, army), Is.True); | 47 Assert.That(req.AllowsAdding(unit, army), Is.EqualTo(Validation.Passed)); |
48 } | 48 } |
49 | 49 |
50 [Test()] | 50 [Test()] |
51 public void TestAddingUnitTypeWithNoUnitsAndOneUnitTypeRequired() | 51 public void TestAddingUnitTypeWithNoUnitsAndOneUnitTypeRequired() |
52 { | 52 { |
53 Army army = new Army(mockRace, "Test", 1000); | 53 Army army = new Army(mockRace, "Test", 1000); |
54 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); | 54 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); |
55 Assert.That(req.AllowsAdding(unitType1, army), Is.False); | 55 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Failed)); |
56 } | 56 } |
57 | 57 |
58 [Test()] | 58 [Test()] |
59 public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequired() | 59 public void TestAddingUnitTypeWithOneUnitAndOneUnitTypeRequired() |
60 { | 60 { |
61 Army army = new Army(mockRace, "Test", 1000); | 61 Army army = new Army(mockRace, "Test", 1000); |
62 AddUnitOfTypeToArmy(unitType2, army); | 62 AddUnitOfTypeToArmy(unitType2, army); |
63 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); | 63 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); |
64 Assert.That(req.AllowsAdding(unitType1, army), Is.True); | 64 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Passed)); |
65 } | 65 } |
66 | 66 |
67 [Test()] | 67 [Test()] |
68 public void TestAddingUnitTypeWithNoUnitsAndTwoUnitTypesRequired() | 68 public void TestAddingUnitTypeWithNoUnitsAndTwoUnitTypesRequired() |
69 { | 69 { |
70 Army army = new Army(mockRace, "Test", 1000); | 70 Army army = new Army(mockRace, "Test", 1000); |
71 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2, unitType3); | 71 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2, unitType3); |
72 Assert.That(req.AllowsAdding(unitType1, army), Is.False); | 72 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Failed)); |
73 } | 73 } |
74 | 74 |
75 [Test()] | 75 [Test()] |
76 public void TestAddingUnitTypeWithOneUnitAndTwoUnitTypesRequired() | 76 public void TestAddingUnitTypeWithOneUnitAndTwoUnitTypesRequired() |
77 { | 77 { |
78 Army army = new Army(mockRace, "Test", 1000); | 78 Army army = new Army(mockRace, "Test", 1000); |
79 AddUnitOfTypeToArmy(unitType2, army); | 79 AddUnitOfTypeToArmy(unitType2, army); |
80 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2, unitType3); | 80 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2, unitType3); |
81 Assert.That(req.AllowsAdding(unitType1, army), Is.False); | 81 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Failed)); |
82 } | 82 } |
83 | 83 |
84 [Test()] | 84 [Test()] |
85 public void TestAddingUnitTypeWithBothUnitsAndTwoUnitTypesRequired() | 85 public void TestAddingUnitTypeWithBothUnitsAndTwoUnitTypesRequired() |
86 { | 86 { |
87 Army army = new Army(mockRace, "Test", 1000); | 87 Army army = new Army(mockRace, "Test", 1000); |
88 AddUnitOfTypeToArmy(unitType2, army); | 88 AddUnitOfTypeToArmy(unitType2, army); |
89 AddUnitOfTypeToArmy(unitType3, army); | 89 AddUnitOfTypeToArmy(unitType3, army); |
90 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2, unitType3); | 90 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2, unitType3); |
91 Assert.That(req.AllowsAdding(unitType1, army), Is.True); | 91 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Passed)); |
92 } | 92 } |
93 | 93 |
94 [Test()] | 94 [Test()] |
95 public void TestAddingUnitTypeWithOneUnitAndTwoOfOneUnitTypeRequired() | 95 public void TestAddingUnitTypeWithOneUnitAndTwoOfOneUnitTypeRequired() |
96 { | 96 { |
97 Army army = new Army(mockRace, "Test", 1000); | 97 Army army = new Army(mockRace, "Test", 1000); |
98 AddUnitOfTypeToArmy(unitType2, army); | 98 AddUnitOfTypeToArmy(unitType2, army); |
99 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(); | 99 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(); |
100 req.AddUnitTypeRequirement(unitType2, 2); | 100 req.AddUnitTypeRequirement(unitType2, 2); |
101 Assert.That(req.AllowsAdding(unitType1, army), Is.False); | 101 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Failed)); |
102 } | 102 } |
103 | 103 |
104 [Test()] | 104 [Test()] |
105 public void TestAddingUnitTypeWithTwoUnitsAndTwoOfOneUnitTypeRequired() | 105 public void TestAddingUnitTypeWithTwoUnitsAndTwoOfOneUnitTypeRequired() |
106 { | 106 { |
107 Army army = new Army(mockRace, "Test", 1000); | 107 Army army = new Army(mockRace, "Test", 1000); |
108 AddUnitOfTypeToArmy(unitType2, army); | 108 AddUnitOfTypeToArmy(unitType2, army); |
109 AddUnitOfTypeToArmy(unitType2, army); | 109 AddUnitOfTypeToArmy(unitType2, army); |
110 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(); | 110 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(); |
111 req.AddUnitTypeRequirement(unitType2, 2); | 111 req.AddUnitTypeRequirement(unitType2, 2); |
112 Assert.That(req.AllowsAdding(unitType1, army), Is.True); | 112 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Passed)); |
113 } | 113 } |
114 | 114 |
115 [Test()] | 115 [Test()] |
116 public void TestAddingUnitTypeRequirementWithNoNumberDefaultsToHavingOne() | 116 public void TestAddingUnitTypeRequirementWithNoNumberDefaultsToHavingOne() |
117 { | 117 { |
118 Army army = new Army(mockRace, "Test", 1000); | 118 Army army = new Army(mockRace, "Test", 1000); |
119 AddUnitOfTypeToArmy(unitType2, army); | 119 AddUnitOfTypeToArmy(unitType2, army); |
120 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(); | 120 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(); |
121 req.AddUnitTypeRequirement(unitType2); | 121 req.AddUnitTypeRequirement(unitType2); |
122 Assert.That(req.AllowsAdding(unitType1, army), Is.True); | 122 Assert.That(req.AllowsAdding(unitType1, army), Is.EqualTo(Validation.Passed)); |
123 } | 123 } |
124 | 124 |
125 [Test()] | 125 [Test()] |
126 public void TestValidityOfArmyWithNoUnitsAndOneUnitTypeRequired() | 126 public void TestValidityOfArmyWithNoUnitsAndOneUnitTypeRequired() |
127 { | 127 { |
128 Army army = new Army(mockRace, "Test", 1000); | 128 Army army = new Army(mockRace, "Test", 1000); |
129 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); | 129 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); |
130 Assert.That(req.ValidatesArmy(army), Is.False); | 130 Assert.That(req.ValidatesArmy(army), Is.EqualTo(Validation.Failed)); |
131 } | 131 } |
132 | 132 |
133 [Test()] | 133 [Test()] |
134 public void TestValidityOfArmyWithOneUnitAndOneUnitTypeRequired() | 134 public void TestValidityOfArmyWithOneUnitAndOneUnitTypeRequired() |
135 { | 135 { |
136 Army army = new Army(mockRace, "Test", 1000); | 136 Army army = new Army(mockRace, "Test", 1000); |
137 AddUnitOfTypeToArmy(unitType2, army); | 137 AddUnitOfTypeToArmy(unitType2, army); |
138 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); | 138 RequiresAtLeastNUnitsRequirement req = new RequiresAtLeastNUnitsRequirement(unitType2); |
139 Assert.That(req.ValidatesArmy(army), Is.True); | 139 Assert.That(req.ValidatesArmy(army), Is.EqualTo(Validation.Passed)); |
140 } | 140 } |
141 | 141 |
142 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) | 142 private static void AddUnitOfTypeToArmy(UnitType unitType, Army army) |
143 { | 143 { |
144 army.AddUnit(CreateUnitOfType(unitType, army)); | 144 army.AddUnit(CreateUnitOfType(unitType, army)); |