annotate API/Util/UnitEquipmentUtilTest.cs @ 228:7c21ca1482cb

Re #419: Remove assumptions of a file-based install * Update tests to use new "loadable object" and "loadable object source" wrappers
author IBBoard <dev@ibboard.co.uk>
date Sat, 07 Jul 2012 21:02:53 +0100
parents bd38c32fb1a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
1 // This file (UnitEquipmentItemUtilTest.cs) is a part of the IBBoard.WarFoundry.API.Tests project and is copyright 2009 IBBoard
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
2 //
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
3 // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license.
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
4
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
5 using System;
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
6 using NUnit.Framework;
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
7 using IBBoard.CustomMath;
18
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
8 using IBBoard.Limits;
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
9 using IBBoard.WarFoundry.API.Objects;
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
10 using IBBoard.WarFoundry.API.Objects.Mock;
183
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
11 using NUnit.Framework.SyntaxHelpers;
18
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
12
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
13 namespace IBBoard.WarFoundry.API.Util
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
14 {
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
15 [TestFixture()]
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
16 public class UnitEquipmentUtilTest
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
17 {
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
18 private const string SLOT_NAME = "slot";
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
19
18
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
20 [Test()]
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
21 public void TestGetEquipmentCountsForFixedLimitItemOnDefaultSlot()
18
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
22 {
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
23 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(4);
18
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
24 UnitType unitType = equip.EquipmentForUnit;
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
25 Unit unit = GetUnit (unitType);
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
26 Assert.AreEqual(4, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
27 Assert.AreEqual(4, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
28 Assert.AreEqual(IBBMath.Percentage(4, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
29 Assert.AreEqual(IBBMath.Percentage(4, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
18
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
30 }
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
31
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
32 [Test()]
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
33 public void TestGetEquipmentCountsForFixedLimitItemOnDefaultSlotWithDifferentMinLimit()
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
34 {
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
35 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(1,4);
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
36 UnitType unitType = equip.EquipmentForUnit;
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
37 Unit unit = GetUnit (unitType);
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
38 Assert.AreEqual(4, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
39 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
40 Assert.AreEqual(IBBMath.Percentage(4, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
41 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
42 }
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
43
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
44 [Test()]
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
45 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlot()
18
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
46 {
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
47 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(3);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
48 equip.SlotName = SLOT_NAME;
18
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
49 UnitType unitType = equip.EquipmentForUnit;
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
50 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2));
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
51 Unit unit = GetUnit(unitType);
18
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
52 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
53 Assert.AreEqual(2, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
54 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
55 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
56 }
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
57
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
58 [Test()]
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
59 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithDifferentMinLimit()
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
60 {
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
61 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(1, 3);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
62 equip.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
63 UnitType unitType = equip.EquipmentForUnit;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
64 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
65 Unit unit = GetUnit(unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
66 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
67 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
68 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
69 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
70 }
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
71
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
72 [Test()]
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
73 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithMaxBelowSlotLimit()
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
74 {
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
75 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(3);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
76 equip.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
77 UnitType unitType = equip.EquipmentForUnit;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
78 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(5));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
79 Unit unit = GetUnit(unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
80 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
81 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
82 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
83 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
18
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
84 }
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
85
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
86 [Test()]
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
87 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithMaxBelowSlotLimitWithDifferentMinLimit()
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
88 {
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
89 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(1, 3);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
90 equip.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
91 UnitType unitType = equip.EquipmentForUnit;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
92 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(5));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
93 Unit unit = GetUnit(unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
94 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
95 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
96 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
97 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
98 }
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
99
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
100 [Test()]
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
101 public void TestGetEquipmentCountsForFixedLimitItemOnPercentageLimitedSlot()
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
102 {
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
103 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(10);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
104 equip.SlotName = SLOT_NAME;
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
105 UnitType unitType = equip.EquipmentForUnit;
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
106 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(50, false));
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
107 Unit unit = GetUnit(unitType);
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
108 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
109 Assert.AreEqual(7, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
110 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
31
c6082e4018f7 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 30
diff changeset
111 Assert.AreEqual(50, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
112 }
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
113
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
114 [Test()]
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
115 public void TestGetEquipmentCountsForFixedLimitItemOnPercentageLimitedSlotWithDifferentMinLimit()
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
116 {
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
117 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(5, 10);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
118 equip.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
119 UnitType unitType = equip.EquipmentForUnit;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
120 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(50, false));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
121 Unit unit = GetUnit(unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
122 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
123 Assert.AreEqual(5, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
124 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
125 Assert.AreEqual(IBBMath.Percentage(5, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
126 }
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
127
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
128 [Test()]
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
129 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithExistingEquipment()
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
130 {
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
131 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(3);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
132 equip.SlotName = SLOT_NAME;
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
133 UnitType unitType = equip.EquipmentForUnit;
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
134 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(6));
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
135 Unit unit =GetUnit(unitType);
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
136 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType);
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
137 equip2.SlotName = SLOT_NAME;
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
138 unit.SetEquipmentAmount(equip2, 5);
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
139 Assert.AreEqual(1, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
140 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
141 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
142 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
143 }
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
144
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
145 [Test()]
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
146 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithExistingEquipmentOfSameType()
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
147 {
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
148 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(1, 3);
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
149 equip.SlotName = SLOT_NAME;
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
150 UnitType unitType = equip.EquipmentForUnit;
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
151 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(3));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
152 Unit unit =GetUnit(unitType);
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
153 unit.SetEquipmentAmount(equip, 2);
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
154 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
155 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
156 Assert.AreEqual(IBBMath.Percentage(3, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
157 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
158 }
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
159
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
160 [Test()]
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
161 public void TestGetEquipmentCountsForFixedLimitItemOnNumberLimitedSlotWithExistingEquipmentDifferentMinLimit()
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
162 {
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
163 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem(1, 3);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
164 equip.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
165 UnitType unitType = equip.EquipmentForUnit;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
166 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(7));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
167 Unit unit =GetUnit(unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
168 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
169 equip2.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
170 unit.SetEquipmentAmount(equip2, 5);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
171 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
172 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
173 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
174 Assert.AreEqual(IBBMath.Percentage(1, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
175 }
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
176
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
177 [Test()]
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
178 public void TestGetEquipmentCountsForPercentageLimitItemOnDefaultSlot()
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
179 {
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
180 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(50);
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
181 UnitType unitType = equip.EquipmentForUnit;
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
182 Unit unit = GetUnit(unitType);
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
183 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
184 Assert.AreEqual(7, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
185 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
31
c6082e4018f7 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 30
diff changeset
186 Assert.AreEqual(50, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
187 }
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
188
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
189 [Test()]
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
190 public void TestGetEquipmentCountsForPercentageLimitItemOnDefaultSlotWithDifferentMinLimit()
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
191 {
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
192 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(25, 50);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
193 UnitType unitType = equip.EquipmentForUnit;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
194 Unit unit = GetUnit(unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
195 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
196 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
197 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
31
c6082e4018f7 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 30
diff changeset
198 Assert.AreEqual(25, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
199 }
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
200
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
201 [Test()]
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
202 public void TestGetEquipmentCountsForPercentageLimitItemOnNumberLimitedSlot()
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
203 {
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
204 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(50);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
205 equip.SlotName = SLOT_NAME;
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
206 UnitType unitType = equip.EquipmentForUnit;
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
207 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2));
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
208 Unit unit = GetUnit(unitType);
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
209 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
210 Assert.AreEqual(2, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
211 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
30
0cc21db8d60a Re #208: equipment slot issues
IBBoard <dev@ibboard.co.uk>
parents: 29
diff changeset
212 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
213 }
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
214
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
215 [Test()]
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
216 public void TestGetEquipmentCountsForPercentageLimitItemOnNumberLimitedSlotWithDifferentMinLimit()
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
217 {
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
218 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(10, 50);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
219 equip.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
220 UnitType unitType = equip.EquipmentForUnit;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
221 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(2));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
222 Unit unit = GetUnit(unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
223 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
224 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
225 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
31
c6082e4018f7 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 30
diff changeset
226 Assert.AreEqual(10, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
227 }
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
228
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
229 [Test()]
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
230 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlot()
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
231 {
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
232 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(50);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
233 equip.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
234 UnitType unitType = equip.EquipmentForUnit;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
235 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(25, false));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
236 Unit unit = GetUnit(unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
237 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
238 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
239 Assert.AreEqual(25, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
31
c6082e4018f7 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 30
diff changeset
240 Assert.AreEqual(25, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
241 }
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
242
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
243 [Test()]
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
244 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithDifferentMinLimit()
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
245 {
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
246 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(10, 50);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
247 equip.SlotName = SLOT_NAME;
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
248 UnitType unitType = equip.EquipmentForUnit;
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
249 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(25, false));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
250 Unit unit = GetUnit(unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
251 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
252 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
253 Assert.AreEqual(25, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
31
c6082e4018f7 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 30
diff changeset
254 Assert.AreEqual(10, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
255 }
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
256
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
257 [Test()]
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
258 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithMaxBelowSlotLimit()
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
259 {
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
260 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(50);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
261 equip.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
262 UnitType unitType = equip.EquipmentForUnit;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
263 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(75, false));
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
264 Unit unit = GetUnit(unitType);
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
265 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
266 Assert.AreEqual(7, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
267 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
31
c6082e4018f7 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 30
diff changeset
268 Assert.AreEqual(50, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
269 }
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
270
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
271 [Test()]
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
272 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithMaxBelowSlotLimitWithDifferentMinLimit()
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
273 {
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
274 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(25, 50);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
275 equip.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
276 UnitType unitType = equip.EquipmentForUnit;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
277 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(75, false));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
278 Unit unit = GetUnit(unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
279 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
280 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
281 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
31
c6082e4018f7 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 30
diff changeset
282 Assert.AreEqual(25, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
283 }
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
284
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
285 [Test()]
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
286 public void TestGetEquipmentCountsForPercentageLimitItemOnNumberLimitedSlotWithExistingEquipment()
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
287 {
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
288 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(50);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
289 equip.SlotName = SLOT_NAME;
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
290 UnitType unitType = equip.EquipmentForUnit;
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
291 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(7));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
292 Unit unit = GetUnit(unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
293 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
294 equip2.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
295 unit.SetEquipmentAmount(equip2, 5);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
296 Assert.AreEqual(2, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
297 Assert.AreEqual(2, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
298 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
299 Assert.AreEqual(IBBMath.Percentage(2, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
300 }
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
301
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
302 [Test()]
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
303 public void TestGetEquipmentCountsForPercentageLimitItemOnNumberLimitedSlotWithExistingEquipmentOfSameType()
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
304 {
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
305 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(10, 50);
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
306 equip.SlotName = SLOT_NAME;
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
307 UnitType unitType = equip.EquipmentForUnit;
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
308 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(10));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
309 Unit unit = GetUnit(unitType);
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
310 unit.SetEquipmentAmount(equip, 5);
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
311 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
312 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
313 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
31
c6082e4018f7 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 30
diff changeset
314 Assert.AreEqual(10, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
315 }
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
316
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
317 [Test()]
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
318 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithExistingEquipment()
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
319 {
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
320 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(50);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
321 equip.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
322 UnitType unitType = equip.EquipmentForUnit;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
323 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(50, true));
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
324 Unit unit = GetUnit(unitType);
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
325 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType);
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
326 equip2.SlotName = SLOT_NAME;
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
327 unit.SetEquipmentAmount(equip2, 5);
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
328 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
329 Assert.AreEqual(3, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
32
9bf542b76de2 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 31
diff changeset
330 Assert.AreEqual(50 - IBBMath.Percentage(5, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
30
0cc21db8d60a Re #208: equipment slot issues
IBBoard <dev@ibboard.co.uk>
parents: 29
diff changeset
331 Assert.AreEqual(50 - IBBMath.Percentage(5, 15), UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
29
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
332 }
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
333
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
334 [Test()]
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
335 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithExistingEquipmentOfSameType()
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
336 {
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
337 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(10, 50);
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
338 equip.SlotName = SLOT_NAME;
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
339 UnitType unitType = equip.EquipmentForUnit;
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
340 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(50, true));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
341 Unit unit = GetUnit(unitType);
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
342 unit.SetEquipmentAmount(equip, 5);
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
343 Assert.AreEqual(7, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
344 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
29e81f10bb8b Re #208: equipmentslot limit issues
IBBoard <dev@ibboard.co.uk>
parents: 27
diff changeset
345 Assert.AreEqual(50, UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
31
c6082e4018f7 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 30
diff changeset
346 Assert.AreEqual(10, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
347 }
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
348
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
349 [Test()]
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
350 public void TestGetEquipmentCountsForPercentageLimitItemOnPercentageLimitedSlotWithExistingEquipmentWithDifferentMinimum()
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
351 {
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
352 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem(10, 50);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
353 equip.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
354 UnitType unitType = equip.EquipmentForUnit;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
355 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(50, true));
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
356 Unit unit = GetUnit(unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
357 UnitEquipmentItem equip2 = new MockPercentageAmountUnitEquipmentItem(new MockEquipmentItem("equip2"), unitType);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
358 equip2.SlotName = SLOT_NAME;
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
359 unit.SetEquipmentAmount(equip2, 5);
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
360 Assert.AreEqual(3, UnitEquipmentUtil.GetMaxEquipmentCount(unit, equip));
21
40a2fd337907 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 19
diff changeset
361 Assert.AreEqual(1, UnitEquipmentUtil.GetMinEquipmentCount(unit, equip));
32
9bf542b76de2 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 31
diff changeset
362 Assert.AreEqual(50 - IBBMath.Percentage(5, 15), UnitEquipmentUtil.GetMaxEquipmentPercentage(unit, equip));
31
c6082e4018f7 Re #209: equipmentslot Value problem
IBBoard <dev@ibboard.co.uk>
parents: 30
diff changeset
363 Assert.AreEqual(10, UnitEquipmentUtil.GetMinEquipmentPercentage(unit, equip));
21
40a2fd337907 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 19
diff changeset
364 }
22
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
365
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
366 [Test()]
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
367 public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndUnlimitedSlot()
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
368 {
23
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
369 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem();
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
370 equip.SlotName = SLOT_NAME;
22
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
371 UnitType unitType = equip.EquipmentForUnit;
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
372 unitType.AddEquipmentSlot(SLOT_NAME, new UnlimitedLimit());
22
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
373 Unit unit = GetUnit(unitType);
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
374 Assert.IsTrue(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip));
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
375 }
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
376
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
377 [Test()]
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
378 public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndRatioSlot()
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
379 {
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
380 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem();
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
381 equip.SlotName = SLOT_NAME;
22
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
382 UnitType unitType = equip.EquipmentForUnit;
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
383 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(50, true));
22
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
384 Unit unit = GetUnit(unitType);
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
385 Assert.IsTrue(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip));
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
386 }
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
387
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
388 [Test()]
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
389 public void TestIsEquipmentRatioLimitsWithRatioLimitedEquipmentAndAbsoluteSlot()
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
390 {
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
391 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem();
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
392 equip.SlotName = SLOT_NAME;
22
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
393 UnitType unitType = equip.EquipmentForUnit;
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
394 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(5));
22
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
395 Unit unit = GetUnit(unitType);
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
396 Assert.IsFalse(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip));
25b21f564348 Re #198: Add equipment slot
IBBoard <dev@ibboard.co.uk>
parents: 21
diff changeset
397 }
23
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
398
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
399 [Test()]
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
400 public void TestIsEquipmentRatioLimitsWithAbsoluteLimitedEquipmentAndAbsoluteSlot()
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
401 {
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
402 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem();
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
403 equip.SlotName = SLOT_NAME;
23
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
404 UnitType unitType = equip.EquipmentForUnit;
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
405 unitType.AddEquipmentSlot(SLOT_NAME, new AbsoluteNumericLimit(5));
23
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
406 Unit unit = GetUnit(unitType);
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
407 Assert.IsFalse(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip));
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
408 }
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
409
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
410 [Test()]
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
411 public void TestIsEquipmentRatioLimitsWithAbsoluteLimitedEquipmentAndUnlimitedSlot()
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
412 {
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
413 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem();
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
414 equip.SlotName = SLOT_NAME;
23
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
415 UnitType unitType = equip.EquipmentForUnit;
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
416 unitType.AddEquipmentSlot(SLOT_NAME, new UnlimitedLimit());
23
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
417 Unit unit = GetUnit(unitType);
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
418 Assert.IsFalse(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip));
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
419 }
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
420
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
421 [Test()]
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
422 public void TestIsEquipmentRatioLimitsWithAbsoluteLimitedEquipmentAndRatioSlot()
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
423 {
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
424 UnitEquipmentItem equip = new MockNumericAmountUnitEquipmentItem();
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
425 equip.SlotName = SLOT_NAME;
23
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
426 UnitType unitType = equip.EquipmentForUnit;
26
e6bf9b5e1b94 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 25
diff changeset
427 unitType.AddEquipmentSlot(SLOT_NAME, new SimpleRoundedPercentageLimit(50, true));
23
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
428 Unit unit = GetUnit(unitType);
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
429 Assert.IsFalse(UnitEquipmentUtil.IsEquipmentRatioLimited(unit, equip));
54abb61b9db8 Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 22
diff changeset
430 }
183
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
431
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
432 [Test()]
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
433 public void TestCalculateEquipmentAmountTakenFromRatio()
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
434 {
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
435 UnitEquipmentItem equip = new MockPercentageAmountUnitEquipmentItem();
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
436 UnitType unitType = equip.EquipmentForUnit;
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
437 Unit unit = GetUnit(unitType);
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
438 Assert.That(UnitEquipmentUtil.CalculateEquipmentAmountTakenFromRatio(unit, equip, 33.4), Is.EqualTo(5));
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
439 Assert.That(UnitEquipmentUtil.CalculateEquipmentAmountTakenFromRatio(unit, equip, 50), Is.EqualTo(7));
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
440 equip.RoundNumberUp = true;
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
441 Assert.That(UnitEquipmentUtil.CalculateEquipmentAmountTakenFromRatio(unit, equip, 33.4), Is.EqualTo(6));
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
442 Assert.That(UnitEquipmentUtil.CalculateEquipmentAmountTakenFromRatio(unit, equip, 50), Is.EqualTo(8));
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
443
bd38c32fb1a9 Re #366: Rewrite equipment handling and limits
IBBoard <dev@ibboard.co.uk>
parents: 172
diff changeset
444 }
24
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
445
92db6f6a6b0b Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
446 private Unit GetUnit (UnitType unitType)
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
447 {
172
c026c02583ca * Remove MockArmy.GetMockArmy as it only causes problems in unit tests
IBBoard <dev@ibboard.co.uk>
parents: 32
diff changeset
448 return new Unit ("unit", "Test Unit", 15, unitType, new ArmyCategory(new MockArmy(), unitType.MainCategory));
19
9b23e72ba3cf Re #198: Add equipment slots
IBBoard <dev@ibboard.co.uk>
parents: 18
diff changeset
449 }
18
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
450 }
e8e7554fb7f3 Re #198: Add slots with count
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
451 }