1 // ObjectTest.cs - NUnit Test Cases for the System.Object struct
3 // David Brandt (bucky@keystreams.com)
5 // (C) Ximian, Inc. http://www.ximian.com
10 using System.Globalization;
12 namespace MonoTests.System
15 public class ObjectTest : TestCase
17 public ObjectTest() {}
19 protected override void SetUp()
23 protected override void TearDown()
27 public void TestCtor() {
28 Object o = new Object();
29 AssertNotNull("Can I at least get an _Object_, please?", o);
32 public void TestEquals1() {
34 Object x = new Object();
35 Object y = new Object();
36 Assert("Object should equal itself",
38 Assert("object should not equal null",
40 Assert("Different objects should not equal 1",
42 Assert("Different objects should not equal 2",
46 double x = Double.NaN;
47 double y = Double.NaN;
48 Assert("NaNs should always equal each other",
49 ((Object)x).Equals(y));
52 public void TestEquals2() {
54 Object x = new Object();
55 Object y = new Object();
56 Assert("Object should equal itself",
58 Assert("object should not equal null",
59 !Object.Equals(x,null));
60 Assert("null should not equal object",
61 !Object.Equals(null,x));
62 Assert("Different objects should not equal 1",
64 Assert("Different objects should not equal 2",
66 Assert("null should not equal null",
67 Object.Equals(null,null));
70 double x = Double.NaN;
71 double y = Double.NaN;
72 Assert("NaNs should always equal each other",
77 public void TestGetHashCode() {
78 Object x = new Object();
79 AssertEquals("Object's hash code should not change",
80 x.GetHashCode(), x.GetHashCode());
83 public void TestGetType() {
84 Object x = new Object();
85 AssertNotNull("Should get a type for Object", x.GetType());
86 AssertEquals("Bad name for Object type", "System.Object",
87 x.GetType().ToString());
90 public void TestReferenceEquals() {
91 Object x = new Object();
92 Object y = new Object();
93 Assert("Object should equal itself",
94 Object.ReferenceEquals(x,x));
95 Assert("object should not equal null",
96 !Object.ReferenceEquals(x,null));
97 Assert("null should not equal object",
98 !Object.ReferenceEquals(null,x));
99 Assert("Different objects should not equal 1",
100 !Object.ReferenceEquals(x,y));
101 Assert("Different objects should not equal 2",
102 !Object.ReferenceEquals(y,x));
103 Assert("null should not equal null",
104 Object.ReferenceEquals(null,null));
107 public void TestToString() {
108 Object x = new Object();
109 Object y = new Object();
110 AssertEquals("All Objects should have same string rep",
111 x.ToString(), y.ToString());