# HG changeset patch # User IBBoard # Date 1256675412 0 # Node ID 54abb61b9db8b4a89b9f05c522198ef3e62560da # Parent 25b21f5643488219069bbaa6efbcca40b3f97bf1 Re #198: Add equipment slots * Complete unit tests for new method diff -r 25b21f564348 -r 54abb61b9db8 API/Util/UnitEquipmentUtilTest.cs --- a/API/Util/UnitEquipmentUtilTest.cs Tue Oct 27 20:27:02 2009 +0000 +++ b/API/Util/UnitEquipmentUtilTest.cs Tue Oct 27 20:30:12 2009 +0000 @@ -203,9 +203,11 @@ [Test()] public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndUnlimitedSlot() { - UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(); + UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(); + equip.SlotName = "slot"; equip.MinLimit = new SimpleRoundedPercentageLimit(50, true); UnitType unitType = equip.EquipmentForUnit; + unitType.AddEquipmentSlot("slot", new UnlimitedLimit()); Unit unit = GetUnit(unitType); Assert.IsTrue(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip)); } @@ -233,6 +235,42 @@ Unit unit = GetUnit(unitType); Assert.IsFalse(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip)); } + + [Test()] + public void TestIsEquipmentRatioLimitsWithAbsoluteLimitedEquipmentAndAbsoluteSlot() + { + UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(); + equip.SlotName = "slot"; + equip.MinLimit = new AbsoluteNumericLimit(50); + UnitType unitType = equip.EquipmentForUnit; + unitType.AddEquipmentSlot("slot", new AbsoluteNumericLimit(5)); + Unit unit = GetUnit(unitType); + Assert.IsFalse(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip)); + } + + [Test()] + public void TestIsEquipmentRatioLimitsWithAbsoluteLimitedEquipmentAndUnlimitedSlot() + { + UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(); + equip.SlotName = "slot"; + equip.MinLimit = new AbsoluteNumericLimit(50); + UnitType unitType = equip.EquipmentForUnit; + unitType.AddEquipmentSlot("slot", new UnlimitedLimit()); + Unit unit = GetUnit(unitType); + Assert.IsFalse(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip)); + } + + [Test()] + public void TestIsEquipmentRatioLimitsWithAbsoluteLimitedEquipmentAndRatioSlot() + { + UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(); + equip.SlotName = "slot"; + equip.MinLimit = new AbsoluteNumericLimit(50); + UnitType unitType = equip.EquipmentForUnit; + unitType.AddEquipmentSlot("slot", new SimpleRoundedPercentageLimit(50, true)); + Unit unit = GetUnit(unitType); + Assert.IsFalse(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip)); + } private static Unit GetUnit (UnitType unitType) {