comparison API/Objects/UnitTest.cs @ 16:74346d5c17fe

Re #198: Add slots with counts to units * Add tests for equipment slot amount storage and retrieval * Add extra constructors to some mocks for constructing other objects of same type
author IBBoard <dev@ibboard.co.uk>
date Sat, 24 Oct 2009 14:02:50 +0000
parents 1119b6f48e8e
children 4480d7151d35
comparison
equal deleted inserted replaced
15:1119b6f48e8e 16:74346d5c17fe
76 unit.Size = 5; 76 unit.Size = 5;
77 unit.SetEquipmentAmount(equip, 2); 77 unit.SetEquipmentAmount(equip, 2);
78 unit.SetEquipmentAmount(equip, 0); 78 unit.SetEquipmentAmount(equip, 0);
79 Assert.AreEqual(0, unit.GetEquipmentAmount(equip)); 79 Assert.AreEqual(0, unit.GetEquipmentAmount(equip));
80 } 80 }
81
82 [Test()]
83 public void TestAmountInSlotWithNoItems()
84 {
85 UnitType unitType = new MockUnitType();
86 Unit unit = new MockUnit(unitType, new MockArmyCategory(unitType.MainCategory));
87 Assert.AreEqual(0, unit.GetEquipmentAmountInSlot(""));
88 }
89
90 [Test()]
91 public void TestAmountInSlotWithOneItem()
92 {
93 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem();
94 string slotName = "TestSlot";
95 equip.SlotName = slotName;
96 UnitType unitType = equip.EquipmentForUnit;
97 Unit unit = new MockUnit(unitType, new MockArmyCategory(unitType.MainCategory));
98 unit.Size = 5;
99 unit.SetEquipmentRatio(equip, 50);
100 Assert.AreEqual(2, unit.GetEquipmentAmountInSlot(slotName));
101 }
102
103 [Test()]
104 public void TestAmountInSlotWithMultipleItems()
105 {
106 UnitEquipmentItem equip1 = new MockPercentageAmountUnitEquipmentItem();
107 string slotName = "TestSlot";
108 equip1.SlotName = slotName;
109 UnitType unitType = equip1.EquipmentForUnit;
110 Unit unit = new MockUnit(unitType, new MockArmyCategory(unitType.MainCategory));
111 unit.Size = 10;
112 unit.SetEquipmentRatio(equip1, 50);
113 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType);
114 equip2.SlotName = slotName;
115 equip2.MinPercentage = 0;
116 UnitEquipmentItem equip3 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip3"), unitType);
117 equip3.SlotName = slotName;
118 equip3.MinPercentage = 0;
119 unit.SetEquipmentRatio(equip2, 25);
120 unit.SetEquipmentRatio(equip3, 10);
121 Assert.AreEqual(8, unit.GetEquipmentAmountInSlot(slotName));
122 }
81 } 123 }
82 } 124 }