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