# HG changeset patch # User IBBoard # Date 1256675222 0 # Node ID 25b21f5643488219069bbaa6efbcca40b3f97bf1 # Parent 40a2fd337907e14f8720261a5fca26fb126603e9 Re #198: Add equipment slot * Add initial unit tests for new "is equipment and slot ratio limited" method diff -r 40a2fd337907 -r 25b21f564348 API/Util/UnitEquipmentUtilTest.cs --- a/API/Util/UnitEquipmentUtilTest.cs Tue Oct 27 20:18:22 2009 +0000 +++ b/API/Util/UnitEquipmentUtilTest.cs Tue Oct 27 20:27:02 2009 +0000 @@ -199,6 +199,40 @@ unit.SetEquipmentAmount(equip2, 5); Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip)); } + + [Test()] + public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndUnlimitedSlot() + { + UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(); + equip.MinLimit = new SimpleRoundedPercentageLimit(50, true); + UnitType unitType = equip.EquipmentForUnit; + Unit unit = GetUnit(unitType); + Assert.IsTrue(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip)); + } + + [Test()] + public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndRatioSlot() + { + UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(); + equip.SlotName = "slot"; + equip.MinLimit = new SimpleRoundedPercentageLimit(50, true); + UnitType unitType = equip.EquipmentForUnit; + unitType.AddEquipmentSlot("slot", new SimpleRoundedPercentageLimit(50, true)); + Unit unit = GetUnit(unitType); + Assert.IsTrue(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip)); + } + + [Test()] + public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndAbsoluteSlot() + { + UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(); + equip.SlotName = "slot"; + equip.MinLimit = new SimpleRoundedPercentageLimit(50, true); + UnitType unitType = equip.EquipmentForUnit; + unitType.AddEquipmentSlot("slot", new AbsoluteNumericLimit(5)); + Unit unit = GetUnit(unitType); + Assert.IsFalse(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip)); + } private static Unit GetUnit (UnitType unitType) {