# HG changeset patch # User IBBoard # Date 1256393083 0 # Node ID 4480d7151d358ed47972c625ca4dbf00a2af4714 # Parent 74346d5c17feaf00bf4b17febb65e38b523a80b0 Re #198: Add equipment slots * Add tests for removing items diff -r 74346d5c17fe -r 4480d7151d35 API/Objects/UnitTest.cs --- a/API/Objects/UnitTest.cs Sat Oct 24 14:02:50 2009 +0000 +++ b/API/Objects/UnitTest.cs Sat Oct 24 14:04:43 2009 +0000 @@ -120,5 +120,41 @@ unit.SetEquipmentRatio(equip3, 10); Assert.AreEqual(8, unit.GetEquipmentAmountInSlot(slotName)); } + + [Test()] + public void TestAmountInSlotWithOneItemAfterRemove() + { + UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(); + string slotName = "TestSlot"; + equip.SlotName = slotName; + UnitType unitType = equip.EquipmentForUnit; + Unit unit = new MockUnit(unitType, new MockArmyCategory(unitType.MainCategory)); + unit.Size = 5; + unit.SetEquipmentRatio(equip, 50); + unit.SetEquipmentRatio(equip, 0); + Assert.AreEqual(0, unit.GetEquipmentAmountInSlot(slotName)); + } + + [Test()] + public void TestAmountInSlotWithMultipleItemsAfterRemove() + { + UnitEquipmentItem equip1 = new MockPercentageAmountUnitEquipmentItem(); + string slotName = "TestSlot"; + equip1.SlotName = slotName; + UnitType unitType = equip1.EquipmentForUnit; + Unit unit = new MockUnit(unitType, new MockArmyCategory(unitType.MainCategory)); + unit.Size = 10; + unit.SetEquipmentRatio(equip1, 50); + UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType); + equip2.SlotName = slotName; + equip2.MinPercentage = 0; + UnitEquipmentItem equip3 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip3"), unitType); + equip3.SlotName = slotName; + equip3.MinPercentage = 0; + unit.SetEquipmentRatio(equip2, 25); + unit.SetEquipmentRatio(equip3, 10); + unit.SetEquipmentAmount(equip1, 0); + Assert.AreEqual(3, unit.GetEquipmentAmountInSlot(slotName)); + } } }