Mercurial > repos > IBBoard.WarFoundry.API.Tests
comparison API/Objects/GameSystemTest.cs @ 137:081b48413f6d
Re #140: Add equality methods to WarFoundry objects
* Add equality to Race, GameSystem and UnitType tests
* Create equality test for UnitCountRequirementData
Not all tests pass yet
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Tue, 26 Apr 2011 15:03:46 +0000 |
parents | 168c5aab34bb |
children | 2ae80631ec9c |
comparison
equal
deleted
inserted
replaced
136:d28c3c1ec1ec | 137:081b48413f6d |
---|---|
1 using System; | 1 using System; |
2 using NUnit.Framework; | 2 using NUnit.Framework; |
3 using IBBoard.WarFoundry.API.Factories; | 3 using IBBoard.WarFoundry.API.Factories; |
4 using NUnit.Framework.SyntaxHelpers; | 4 using NUnit.Framework.SyntaxHelpers; |
5 using System.Reflection; | |
6 using IBBoard.NUnit; | |
5 | 7 |
6 namespace IBBoard.WarFoundry.API.Objects | 8 namespace IBBoard.WarFoundry.API.Objects |
7 { | 9 { |
8 [TestFixture()] | 10 [TestFixture()] |
9 public class GameSystemTest | 11 public class GameSystemTest : AbstractEqualityTest<GameSystem> |
10 { | 12 { |
13 //FIXME We shouldn't duplicate these tests, but it is broken at the moment | |
14 [Test] | |
15 public void TestEquality() | |
16 { | |
17 Assert.AreEqual(GetObject(), GetSameObject()); | |
18 Assert.AreEqual(GetSameObject(), GetObject()); | |
19 } | |
20 | |
21 [Test] | |
22 public void TestInequality() | |
23 { | |
24 Assert.AreNotEqual(GetObject(), GetDifferentObject()); | |
25 Assert.AreNotEqual(GetSameObject(), GetDifferentObject()); | |
26 Assert.AreNotEqual(GetDifferentObject(), GetObject()); | |
27 Assert.AreNotEqual(GetDifferentObject(), GetSameObject()); | |
28 } | |
29 | |
30 [Test] | |
31 public void TestReflexiveEquality() | |
32 { | |
33 Assert.AreEqual(GetObject(), GetObject()); | |
34 Assert.AreEqual(GetSameObject(), GetSameObject()); | |
35 Assert.AreEqual(GetDifferentObject(), GetDifferentObject()); | |
36 } | |
37 | |
38 [Test] | |
39 public void TestOtherInequality() | |
40 { | |
41 MethodInfo[] methodInfo = GetType().GetMethods(); | |
42 GameSystem obj = GetObject(); | |
43 | |
44 foreach (MethodInfo method in methodInfo) | |
45 { | |
46 if (method.Name.StartsWith("GetOtherDifferent")) | |
47 { | |
48 GameSystem otherObj = (GameSystem)method.Invoke(this, new object[0]); | |
49 Assert.AreNotEqual(obj, otherObj, "Objects equal for "+method.Name); | |
50 Assert.AreNotEqual(otherObj, obj, "Objects equal for "+method.Name); | |
51 } | |
52 } | |
53 } | |
54 | |
55 | |
56 | |
57 | |
11 [Test()] | 58 [Test()] |
12 public void TestPointsSingularAbbreviation () | 59 public void TestPointsSingularAbbreviation () |
13 { | 60 { |
14 GameSystem system = new GameSystem("id", "name", new DummyWarFoundryFactory()); | 61 GameSystem system = new GameSystem("id", "name", new DummyWarFoundryFactory()); |
15 Assert.That(system.GetPointsAbbrev(1), Is.EqualTo("")); | 62 Assert.That(system.GetPointsAbbrev(1), Is.EqualTo("")); |
119 GameSystem system = new GameSystem("id", "name", new DummyWarFoundryFactory()); | 166 GameSystem system = new GameSystem("id", "name", new DummyWarFoundryFactory()); |
120 Assert.That(system.GetPointsAbbrev(0), Is.EqualTo("")); | 167 Assert.That(system.GetPointsAbbrev(0), Is.EqualTo("")); |
121 system.SystemPtsAbbrevSingle = "pt"; | 168 system.SystemPtsAbbrevSingle = "pt"; |
122 Assert.That(system.GetPointsAbbrev(0), Is.EqualTo("pt")); | 169 Assert.That(system.GetPointsAbbrev(0), Is.EqualTo("pt")); |
123 } | 170 } |
171 | |
172 public override GameSystem GetObject () | |
173 { | |
174 DummyWarFoundryFactory factory = new DummyWarFoundryFactory(); | |
175 return new GameSystem("system", "system", factory); | |
176 } | |
177 | |
178 public override GameSystem GetSameObject () | |
179 { | |
180 DummyWarFoundryFactory factory = new DummyWarFoundryFactory(); | |
181 return new GameSystem("system", "system", factory); | |
182 } | |
183 | |
184 public override GameSystem GetDifferentObject () | |
185 { | |
186 DummyWarFoundryFactory factory = new DummyWarFoundryFactory(); | |
187 return new GameSystem("system2", "another system", factory); | |
188 } | |
124 } | 189 } |
125 } | 190 } |
126 | 191 |