comparison API/Util/UnitEquipmentUtilTest.cs @ 22:25b21f564348

Re #198: Add equipment slot * Add initial unit tests for new "is equipment and slot ratio limited" method
author IBBoard <dev@ibboard.co.uk>
date Tue, 27 Oct 2009 20:27:02 +0000
parents 40a2fd337907
children 54abb61b9db8
comparison
equal deleted inserted replaced
21:40a2fd337907 22:25b21f564348
197 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType); 197 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType);
198 equip2.SlotName = "slot"; 198 equip2.SlotName = "slot";
199 unit.SetEquipmentAmount(equip2, 5); 199 unit.SetEquipmentAmount(equip2, 5);
200 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); 200 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
201 } 201 }
202
203 [Test()]
204 public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndUnlimitedSlot()
205 {
206 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem();
207 equip.MinLimit = new SimpleRoundedPercentageLimit(50, true);
208 UnitType unitType = equip.EquipmentForUnit;
209 Unit unit = GetUnit(unitType);
210 Assert.IsTrue(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip));
211 }
212
213 [Test()]
214 public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndRatioSlot()
215 {
216 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem();
217 equip.SlotName = "slot";
218 equip.MinLimit = new SimpleRoundedPercentageLimit(50, true);
219 UnitType unitType = equip.EquipmentForUnit;
220 unitType.AddEquipmentSlot("slot", new SimpleRoundedPercentageLimit(50, true));
221 Unit unit = GetUnit(unitType);
222 Assert.IsTrue(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip));
223 }
224
225 [Test()]
226 public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndAbsoluteSlot()
227 {
228 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem();
229 equip.SlotName = "slot";
230 equip.MinLimit = new SimpleRoundedPercentageLimit(50, true);
231 UnitType unitType = equip.EquipmentForUnit;
232 unitType.AddEquipmentSlot("slot", new AbsoluteNumericLimit(5));
233 Unit unit = GetUnit(unitType);
234 Assert.IsFalse(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip));
235 }
202 236
203 private static Unit GetUnit (UnitType unitType) 237 private static Unit GetUnit (UnitType unitType)
204 { 238 {
205 return new Unit ("unit", "Test Unit", 10, unitType, new MockArmyCategory (unitType.MainCategory)); 239 return new Unit ("unit", "Test Unit", 10, unitType, new MockArmyCategory (unitType.MainCategory));
206 } 240 }