Mercurial > repos > IBDev-IBBoard.WarFoundry.API.Tests
comparison API/Util/UnitEquipmentUtilTest.cs @ 29:29e81f10bb8b
Re #208: equipmentslot limit issues
* Extend unit tests to cover extra situation
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Fri, 06 Nov 2009 20:05:29 +0000 |
parents | 0676f6a1ee9d |
children | 0cc21db8d60a |
comparison
equal
deleted
inserted
replaced
28:2395dc131401 | 29:29e81f10bb8b |
---|---|
2 // | 2 // |
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. | 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. |
4 | 4 |
5 using System; | 5 using System; |
6 using NUnit.Framework; | 6 using NUnit.Framework; |
7 using IBBoard.CustomMath; | |
7 using IBBoard.Limits; | 8 using IBBoard.Limits; |
8 using IBBoard.WarFoundry.API.Objects; | 9 using IBBoard.WarFoundry.API.Objects; |
9 using IBBoard.WarFoundry.API.Objects.Mock; | 10 using IBBoard.WarFoundry.API.Objects.Mock; |
10 | 11 |
11 namespace IBBoard.WarFoundry.API.Util | 12 namespace IBBoard.WarFoundry.API.Util |
21 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(4); | 22 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(4); |
22 UnitType unitType = equip.EquipmentForUnit; | 23 UnitType unitType = equip.EquipmentForUnit; |
23 Unit unit = GetUnit (unitType); | 24 Unit unit = GetUnit (unitType); |
24 Assert.AreEqual(4, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 25 Assert.AreEqual(4, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
25 Assert.AreEqual(4, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 26 Assert.AreEqual(4, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
26 Assert.AreEqual(4.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 27 Assert.AreEqual(IBBMath.Percentage(4, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
27 Assert.AreEqual(4.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 28 Assert.AreEqual(IBBMath.Percentage(4, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
28 } | 29 } |
29 | 30 |
30 [Test()] | 31 [Test()] |
31 public void TestGetEquipmentCountsForFixedLimitItemOnDefaultSlotWithDifferentMinLimit() | 32 public void TestGetEquipmentCountsForFixedLimitItemOnDefaultSlotWithDifferentMinLimit() |
32 { | 33 { |
33 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(1,4); | 34 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(1,4); |
34 UnitType unitType = equip.EquipmentForUnit; | 35 UnitType unitType = equip.EquipmentForUnit; |
35 Unit unit = GetUnit (unitType); | 36 Unit unit = GetUnit (unitType); |
36 Assert.AreEqual(4, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 37 Assert.AreEqual(4, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
37 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 38 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
38 Assert.AreEqual(4.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 39 Assert.AreEqual(IBBMath.Percentage(4, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
39 Assert.AreEqual(1.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 40 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
40 } | 41 } |
41 | 42 |
42 [Test()] | 43 [Test()] |
43 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlot() | 44 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlot() |
44 { | 45 { |
47 UnitType unitType = equip.EquipmentForUnit; | 48 UnitType unitType = equip.EquipmentForUnit; |
48 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2)); | 49 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2)); |
49 Unit unit = GetUnit(unitType); | 50 Unit unit = GetUnit(unitType); |
50 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 51 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
51 Assert.AreEqual(2, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 52 Assert.AreEqual(2, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
52 Assert.AreEqual(2.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 53 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
53 Assert.AreEqual(2.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 54 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
54 } | 55 } |
55 | 56 |
56 [Test()] | 57 [Test()] |
57 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithDifferentMinLimit() | 58 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithDifferentMinLimit() |
58 { | 59 { |
61 UnitType unitType = equip.EquipmentForUnit; | 62 UnitType unitType = equip.EquipmentForUnit; |
62 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2)); | 63 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2)); |
63 Unit unit = GetUnit(unitType); | 64 Unit unit = GetUnit(unitType); |
64 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 65 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
65 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 66 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
66 Assert.AreEqual(2.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 67 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
67 Assert.AreEqual(1.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 68 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
68 } | 69 } |
69 | 70 |
70 [Test()] | 71 [Test()] |
71 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithMaxBelowSlotLimit() | 72 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithMaxBelowSlotLimit() |
72 { | 73 { |
75 UnitType unitType = equip.EquipmentForUnit; | 76 UnitType unitType = equip.EquipmentForUnit; |
76 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(5)); | 77 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(5)); |
77 Unit unit = GetUnit(unitType); | 78 Unit unit = GetUnit(unitType); |
78 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 79 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
79 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 80 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
80 Assert.AreEqual(3.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 81 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
81 Assert.AreEqual(3.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 82 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
82 } | 83 } |
83 | 84 |
84 [Test()] | 85 [Test()] |
85 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithMaxBelowSlotLimitWithDifferentMinLimit() | 86 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithMaxBelowSlotLimitWithDifferentMinLimit() |
86 { | 87 { |
89 UnitType unitType = equip.EquipmentForUnit; | 90 UnitType unitType = equip.EquipmentForUnit; |
90 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(5)); | 91 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(5)); |
91 Unit unit = GetUnit(unitType); | 92 Unit unit = GetUnit(unitType); |
92 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 93 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
93 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 94 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
94 Assert.AreEqual(3.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 95 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
95 Assert.AreEqual(1.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 96 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
96 } | 97 } |
97 | 98 |
98 [Test()] | 99 [Test()] |
99 public void TestGetEquipmentCountsForFixedLimitItemOnPercentageLimitedSlot() | 100 public void TestGetEquipmentCountsForFixedLimitItemOnPercentageLimitedSlot() |
100 { | 101 { |
118 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(50, false)); | 119 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(50, false)); |
119 Unit unit = GetUnit(unitType); | 120 Unit unit = GetUnit(unitType); |
120 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 121 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
121 Assert.AreEqual(5, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 122 Assert.AreEqual(5, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
122 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 123 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
123 Assert.AreEqual(5.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 124 Assert.AreEqual(IBBMath.Percentage(5, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
124 } | 125 } |
125 | 126 |
126 [Test()] | 127 [Test()] |
127 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithExistingEquipment() | 128 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithExistingEquipment() |
128 { | 129 { |
134 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType); | 135 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType); |
135 equip2.SlotName = SLOT_NAME; | 136 equip2.SlotName = SLOT_NAME; |
136 unit.SetEquipmentAmount(equip2, 5); | 137 unit.SetEquipmentAmount(equip2, 5); |
137 Assert.AreEqual(1, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 138 Assert.AreEqual(1, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
138 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 139 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
139 Assert.AreEqual(1.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 140 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
140 Assert.AreEqual(1.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 141 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
142 } | |
143 | |
144 [Test()] | |
145 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithExistingEquipmentOfSameType() | |
146 { | |
147 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(1, 3); | |
148 equip.SlotName = SLOT_NAME; | |
149 UnitType unitType = equip.EquipmentForUnit; | |
150 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(3)); | |
151 Unit unit =GetUnit(unitType); | |
152 unit.SetEquipmentAmount(equip, 2); | |
153 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | |
154 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | |
155 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | |
156 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | |
141 } | 157 } |
142 | 158 |
143 [Test()] | 159 [Test()] |
144 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithExistingEquipmentDifferentMinLimit() | 160 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithExistingEquipmentDifferentMinLimit() |
145 { | 161 { |
151 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType); | 167 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType); |
152 equip2.SlotName = SLOT_NAME; | 168 equip2.SlotName = SLOT_NAME; |
153 unit.SetEquipmentAmount(equip2, 5); | 169 unit.SetEquipmentAmount(equip2, 5); |
154 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 170 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
155 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 171 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
156 Assert.AreEqual(2.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 172 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
157 Assert.AreEqual(1.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 173 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
158 } | 174 } |
159 | 175 |
160 [Test()] | 176 [Test()] |
161 public void TestGetEquipmentCountsForPercentageLimitItemOnDefaultSlot() | 177 public void TestGetEquipmentCountsForPercentageLimitItemOnDefaultSlot() |
162 { | 178 { |
189 UnitType unitType = equip.EquipmentForUnit; | 205 UnitType unitType = equip.EquipmentForUnit; |
190 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2)); | 206 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2)); |
191 Unit unit = GetUnit(unitType); | 207 Unit unit = GetUnit(unitType); |
192 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 208 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
193 Assert.AreEqual(2, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 209 Assert.AreEqual(2, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
194 Assert.AreEqual(2.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 210 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
195 } | 211 } |
196 | 212 |
197 [Test()] | 213 [Test()] |
198 public void TestGetEquipmentCountsForPercentageLimitItemOnNumberLimitedSlotWithDifferentMinLimit() | 214 public void TestGetEquipmentCountsForPercentageLimitItemOnNumberLimitedSlotWithDifferentMinLimit() |
199 { | 215 { |
202 UnitType unitType = equip.EquipmentForUnit; | 218 UnitType unitType = equip.EquipmentForUnit; |
203 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2)); | 219 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2)); |
204 Unit unit = GetUnit(unitType); | 220 Unit unit = GetUnit(unitType); |
205 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 221 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
206 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 222 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
207 Assert.AreEqual(2.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 223 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
208 Assert.AreEqual(1.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 224 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
209 } | 225 } |
210 | 226 |
211 [Test()] | 227 [Test()] |
212 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlot() | 228 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlot() |
213 { | 229 { |
275 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType); | 291 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType); |
276 equip2.SlotName = SLOT_NAME; | 292 equip2.SlotName = SLOT_NAME; |
277 unit.SetEquipmentAmount(equip2, 5); | 293 unit.SetEquipmentAmount(equip2, 5); |
278 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 294 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
279 Assert.AreEqual(2, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 295 Assert.AreEqual(2, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
280 Assert.AreEqual(2.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 296 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
281 Assert.AreEqual(2.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 297 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
298 } | |
299 | |
300 [Test()] | |
301 public void TestGetEquipmentCountsForPercentageLimitItemOnNumberLimitedSlotWithExistingEquipmentOfSameType() | |
302 { | |
303 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(10, 50); | |
304 equip.SlotName = SLOT_NAME; | |
305 UnitType unitType = equip.EquipmentForUnit; | |
306 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(10)); | |
307 Unit unit = GetUnit(unitType); | |
308 unit.SetEquipmentAmount(equip, 5); | |
309 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | |
310 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | |
311 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | |
312 Assert.AreEqual(10, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | |
282 } | 313 } |
283 | 314 |
284 [Test()] | 315 [Test()] |
285 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithExistingEquipment() | 316 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithExistingEquipment() |
286 { | 317 { |
292 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType); | 323 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType); |
293 equip2.SlotName = SLOT_NAME; | 324 equip2.SlotName = SLOT_NAME; |
294 unit.SetEquipmentAmount(equip2, 5); | 325 unit.SetEquipmentAmount(equip2, 5); |
295 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 326 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
296 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 327 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
297 Assert.AreEqual(3.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 328 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
298 Assert.AreEqual(3.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 329 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
330 } | |
331 | |
332 [Test()] | |
333 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithExistingEquipmentOfSameType() | |
334 { | |
335 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(10, 50); | |
336 equip.SlotName = SLOT_NAME; | |
337 UnitType unitType = equip.EquipmentForUnit; | |
338 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(50, true)); | |
339 Unit unit = GetUnit(unitType); | |
340 unit.SetEquipmentAmount(equip, 5); | |
341 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | |
342 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | |
343 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | |
344 Assert.AreEqual(10, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | |
299 } | 345 } |
300 | 346 |
301 [Test()] | 347 [Test()] |
302 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithExistingEquipmentWithDifferentMinimum() | 348 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithExistingEquipmentWithDifferentMinimum() |
303 { | 349 { |
309 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType); | 355 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType); |
310 equip2.SlotName = SLOT_NAME; | 356 equip2.SlotName = SLOT_NAME; |
311 unit.SetEquipmentAmount(equip2, 5); | 357 unit.SetEquipmentAmount(equip2, 5); |
312 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); | 358 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); |
313 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); | 359 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); |
314 Assert.AreEqual(3.0/15*100, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); | 360 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); |
315 Assert.AreEqual(1.0/15*100, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); | 361 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); |
316 } | 362 } |
317 | 363 |
318 [Test()] | 364 [Test()] |
319 public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndUnlimitedSlot() | 365 public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndUnlimitedSlot() |
320 { | 366 { |