comparison API/Util/UnitEquipmentUtilTest.cs @ 31:c6082e4018f7

Re #209: equipmentslot Value problem * Update unit tests to match new "check percentage, ignore numbers" min percentage calculation
author IBBoard <dev@ibboard.co.uk>
date Fri, 13 Nov 2009 10:29:49 +0000
parents 0cc21db8d60a
children 9bf542b76de2
comparison
equal deleted inserted replaced
30:0cc21db8d60a 31:c6082e4018f7
105 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(50, false)); 105 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(50, false));
106 Unit unit = GetUnit(unitType); 106 Unit unit = GetUnit(unitType);
107 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); 107 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
108 Assert.AreEqual(7, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); 108 Assert.AreEqual(7, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
109 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); 109 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
110 Assert.AreEqual(IBBMath.Percentage(7, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); 110 Assert.AreEqual(50, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
111 } 111 }
112 112
113 [Test()] 113 [Test()]
114 public void TestGetEquipmentCountsForFixedLimitItemOnPercentageLimitedSlotWithDifferentMinLimit() 114 public void TestGetEquipmentCountsForFixedLimitItemOnPercentageLimitedSlotWithDifferentMinLimit()
115 { 115 {
180 UnitType unitType = equip.EquipmentForUnit; 180 UnitType unitType = equip.EquipmentForUnit;
181 Unit unit = GetUnit(unitType); 181 Unit unit = GetUnit(unitType);
182 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); 182 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
183 Assert.AreEqual(7, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); 183 Assert.AreEqual(7, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
184 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); 184 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
185 Assert.AreEqual(IBBMath.Percentage(7, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); 185 Assert.AreEqual(50, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
186 } 186 }
187 187
188 [Test()] 188 [Test()]
189 public void TestGetEquipmentCountsForPercentageLimitItemOnDefaultSlotWithDifferentMinLimit() 189 public void TestGetEquipmentCountsForPercentageLimitItemOnDefaultSlotWithDifferentMinLimit()
190 { 190 {
192 UnitType unitType = equip.EquipmentForUnit; 192 UnitType unitType = equip.EquipmentForUnit;
193 Unit unit = GetUnit(unitType); 193 Unit unit = GetUnit(unitType);
194 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); 194 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
195 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); 195 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
196 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); 196 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
197 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); 197 Assert.AreEqual(25, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
198 } 198 }
199 199
200 [Test()] 200 [Test()]
201 public void TestGetEquipmentCountsForPercentageLimitItemOnNumberLimitedSlot() 201 public void TestGetEquipmentCountsForPercentageLimitItemOnNumberLimitedSlot()
202 { 202 {
220 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2)); 220 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2));
221 Unit unit = GetUnit(unitType); 221 Unit unit = GetUnit(unitType);
222 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); 222 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
223 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); 223 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
224 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); 224 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
225 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); 225 Assert.AreEqual(10, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
226 } 226 }
227 227
228 [Test()] 228 [Test()]
229 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlot() 229 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlot()
230 { 230 {
234 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(25, false)); 234 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(25, false));
235 Unit unit = GetUnit(unitType); 235 Unit unit = GetUnit(unitType);
236 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); 236 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
237 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); 237 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
238 Assert.AreEqual(25, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); 238 Assert.AreEqual(25, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
239 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); 239 Assert.AreEqual(25, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
240 } 240 }
241 241
242 [Test()] 242 [Test()]
243 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithDifferentMinLimit() 243 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithDifferentMinLimit()
244 { 244 {
248 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(25, false)); 248 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(25, false));
249 Unit unit = GetUnit(unitType); 249 Unit unit = GetUnit(unitType);
250 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); 250 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
251 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); 251 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
252 Assert.AreEqual(25, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); 252 Assert.AreEqual(25, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
253 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); 253 Assert.AreEqual(10, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
254 } 254 }
255 255
256 [Test()] 256 [Test()]
257 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithMaxBelowSlotLimit() 257 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithMaxBelowSlotLimit()
258 { 258 {
262 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(75, false)); 262 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(75, false));
263 Unit unit = GetUnit(unitType); 263 Unit unit = GetUnit(unitType);
264 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); 264 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
265 Assert.AreEqual(7, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); 265 Assert.AreEqual(7, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
266 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); 266 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
267 Assert.AreEqual(IBBMath.Percentage(7, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); 267 Assert.AreEqual(50, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
268 } 268 }
269 269
270 [Test()] 270 [Test()]
271 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithMaxBelowSlotLimitWithDifferentMinLimit() 271 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithMaxBelowSlotLimitWithDifferentMinLimit()
272 { 272 {
276 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(75, false)); 276 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(75, false));
277 Unit unit = GetUnit(unitType); 277 Unit unit = GetUnit(unitType);
278 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); 278 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
279 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); 279 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
280 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); 280 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
281 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); 281 Assert.AreEqual(25, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
282 } 282 }
283 283
284 [Test()] 284 [Test()]
285 public void TestGetEquipmentCountsForPercentageLimitItemOnNumberLimitedSlotWithExistingEquipment() 285 public void TestGetEquipmentCountsForPercentageLimitItemOnNumberLimitedSlotWithExistingEquipment()
286 { 286 {
308 Unit unit = GetUnit(unitType); 308 Unit unit = GetUnit(unitType);
309 unit.SetEquipmentAmount(equip, 5); 309 unit.SetEquipmentAmount(equip, 5);
310 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); 310 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
311 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); 311 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
312 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); 312 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
313 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); 313 Assert.AreEqual(10, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
314 } 314 }
315 315
316 [Test()] 316 [Test()]
317 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithExistingEquipment() 317 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithExistingEquipment()
318 { 318 {
340 Unit unit = GetUnit(unitType); 340 Unit unit = GetUnit(unitType);
341 unit.SetEquipmentAmount(equip, 5); 341 unit.SetEquipmentAmount(equip, 5);
342 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); 342 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
343 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); 343 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
344 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); 344 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
345 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); 345 Assert.AreEqual(10, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
346 } 346 }
347 347
348 [Test()] 348 [Test()]
349 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithExistingEquipmentWithDifferentMinimum() 349 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithExistingEquipmentWithDifferentMinimum()
350 { 350 {
357 equip2.SlotName = SLOT_NAME; 357 equip2.SlotName = SLOT_NAME;
358 unit.SetEquipmentAmount(equip2, 5); 358 unit.SetEquipmentAmount(equip2, 5);
359 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip)); 359 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
360 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); 360 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
361 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip)); 361 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
362 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip)); 362 Assert.AreEqual(10, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
363 } 363 }
364 364
365 [Test()] 365 [Test()]
366 public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndUnlimitedSlot() 366 public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndUnlimitedSlot()
367 { 367 {