annotate AbstractEqualityTest.cs @ 7:1ed310d10fc9

* Add abstract equality test class (contains basics) no-open-ticket
author IBBoard <dev@ibboard.co.uk>
date Mon, 25 Apr 2011 14:50:00 +0000
parents
children 29850b7c8f33
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
1 // This file (AbstractEqualityTest.cs) is a part of the IBBoard.NUnit project and is copyright 2011 IBBoard
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
2 //
1ed310d10fc9 * Add abstract equality test class (contains basics)
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.
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
4 using System;
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
5 using NUnit;
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
6 using NUnit.Framework;
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
7 using System.Reflection;
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
8
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
9 namespace IBBoard.NUnit
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
10 {
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
11 public abstract class AbstractEqualityTest<TEST_CLASS>
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
12 {
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
13 [Test]
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
14 public void TestEquality()
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
15 {
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
16 Assert.AreEqual(GetObject(), GetSameObject());
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
17 Assert.AreEqual(GetSameObject(), GetObject());
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
18 }
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
19
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
20 [Test]
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
21 public void TestInequality()
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
22 {
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
23 Assert.AreNotEqual(GetObject(), GetDifferentObject());
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
24 Assert.AreNotEqual(GetSameObject(), GetDifferentObject());
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
25 Assert.AreNotEqual(GetDifferentObject(), GetObject());
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
26 Assert.AreNotEqual(GetDifferentObject(), GetSameObject());
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
27 }
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
28
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
29 [Test]
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
30 public void TestReflexiveEquality()
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
31 {
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
32 Assert.AreEqual(GetObject(), GetObject());
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
33 Assert.AreEqual(GetSameObject(), GetSameObject());
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
34 Assert.AreEqual(GetDifferentObject(), GetDifferentObject());
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
35 }
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
36
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
37 [Test]
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
38 public void TestOtherInequality()
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
39 {
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
40 MethodInfo[] methodInfo = GetType().GetMethods();
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
41 TEST_CLASS obj = GetObject();
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
42
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
43 foreach (MethodInfo method in methodInfo)
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
44 {
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
45 if (method.Name.StartsWith("GetOtherDifferent"))
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
46 {
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
47 TEST_CLASS otherObj = (TEST_CLASS)method.Invoke(this, new object[0]);
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
48 Assert.AreNotEqual(obj, otherObj, "Objects equal for "+method.Name);
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
49 Assert.AreNotEqual(otherObj, obj, "Objects equal for "+method.Name);
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
50 }
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
51 }
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
52 }
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
53
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
54 public abstract TEST_CLASS GetObject();
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
55
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
56 public abstract TEST_CLASS GetSameObject();
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
57
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
58 public abstract TEST_CLASS GetDifferentObject();
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
59 }
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
60 }
1ed310d10fc9 * Add abstract equality test class (contains basics)
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
61