-// ObjectTest.cs - NUnit Test Cases for the System.Object struct\r
-//\r
-// David Brandt (bucky@keystreams.com)\r
-//\r
-// (C) Ximian, Inc. http://www.ximian.com\r
-// \r
-\r
-using NUnit.Framework;\r
-using System;\r
-using System.Globalization;\r
-\r
-namespace MonoTests.System\r
-{\r
-\r
-public class ObjectTest : TestCase\r
-{\r
- public ObjectTest() {}\r
-\r
- protected override void SetUp() \r
- {\r
- }\r
-\r
- protected override void TearDown() \r
- {\r
- }\r
-\r
- public void TestCtor() {\r
- Object o = new Object();\r
- AssertNotNull("Can I at least get an _Object_, please?", o);\r
- }\r
-\r
- public void TestEquals1() {\r
- {\r
- Object x = new Object();\r
- Object y = new Object();\r
- Assert("Object should equal itself",\r
- x.Equals(x));\r
- Assert("object should not equal null",\r
- !x.Equals(null));\r
- Assert("Different objects should not equal 1",\r
- !x.Equals(y));\r
- Assert("Different objects should not equal 2",\r
- !y.Equals(x));\r
- }\r
- {\r
- double x = Double.NaN;\r
- double y = Double.NaN;\r
- Assert("NaNs should always equal each other",\r
- ((Object)x).Equals(y));\r
- }\r
- }\r
- public void TestEquals2() {\r
- {\r
- Object x = new Object();\r
- Object y = new Object();\r
- Assert("Object should equal itself",\r
- Object.Equals(x,x));\r
- Assert("object should not equal null",\r
- !Object.Equals(x,null));\r
- Assert("null should not equal object",\r
- !Object.Equals(null,x));\r
- Assert("Different objects should not equal 1",\r
- !Object.Equals(x,y));\r
- Assert("Different objects should not equal 2",\r
- !Object.Equals(y,x));\r
- Assert("null should not equal null",\r
- Object.Equals(null,null));\r
- }\r
- {\r
- double x = Double.NaN;\r
- double y = Double.NaN;\r
- Assert("NaNs should always equal each other",\r
- Object.Equals(x,y));\r
- }\r
- }\r
-\r
- public void TestGetHashCode() {\r
- Object x = new Object();\r
- AssertEquals("Object's hash code should not change",\r
- x.GetHashCode(), x.GetHashCode());\r
- }\r
-\r
- public void TestGetType() {\r
- Object x = new Object();\r
- AssertNotNull("Should get a type for Object", x.GetType());\r
- AssertEquals("Bad name for Object type", "System.Object",\r
- x.GetType().ToString());\r
- }\r
-\r
- public void TestReferenceEquals() {\r
- Object x = new Object();\r
- Object y = new Object();\r
- Assert("Object should equal itself",\r
- Object.ReferenceEquals(x,x));\r
- Assert("object should not equal null",\r
- !Object.ReferenceEquals(x,null));\r
- Assert("null should not equal object",\r
- !Object.ReferenceEquals(null,x));\r
- Assert("Different objects should not equal 1",\r
- !Object.ReferenceEquals(x,y));\r
- Assert("Different objects should not equal 2",\r
- !Object.ReferenceEquals(y,x));\r
- Assert("null should not equal null",\r
- Object.ReferenceEquals(null,null));\r
- }\r
-\r
- public void TestToString() {\r
- Object x = new Object();\r
- Object y = new Object();\r
- AssertEquals("All Objects should have same string rep",\r
- x.ToString(), y.ToString());\r
- }\r
-}\r
-}\r
+// ObjectTest.cs - NUnit Test Cases for the System.Object struct
+//
+// David Brandt (bucky@keystreams.com)
+//
+// (C) Ximian, Inc. http://www.ximian.com
+//
+
+using NUnit.Framework;
+using System;
+using System.Globalization;
+
+namespace MonoTests.System
+{
+
+[TestFixture]
+public class ObjectTest
+{
+ public ObjectTest() {}
+
+ [Test]
+ public void TestCtor() {
+ Object o = new Object();
+ Assert.IsNotNull(o, "Can I at least get an _Object_, please?");
+ }
+
+ [Test]
+ public void TestEquals1() {
+ {
+ Object x = new Object();
+ Object y = new Object();
+ Assert.IsTrue(x.Equals(x), "Object should equal itself");
+
+ Assert.IsTrue(!x.Equals(null), "object should not equal null");
+
+ Assert.IsTrue(!x.Equals(y), "Different objects should not equal 1");
+
+ Assert.IsTrue(!y.Equals(x), "Different objects should not equal 2");
+
+ }
+ {
+ double x = Double.NaN;
+ double y = Double.NaN;
+ Assert.IsTrue(((Object)x).Equals(y), "NaNs should always equal each other");
+
+ }
+ }
+
+ [Test]
+ public void TestEquals2() {
+ {
+ Object x = new Object();
+ Object y = new Object();
+ Assert.IsTrue(Object.Equals(x,x), "Object should equal itself");
+
+ Assert.IsTrue(!Object.Equals(x,null), "object should not equal null");
+
+ Assert.IsTrue(!Object.Equals(null,x), "null should not equal object");
+
+ Assert.IsTrue(!Object.Equals(x,y), "Different objects should not equal 1");
+
+ Assert.IsTrue(!Object.Equals(y,x), "Different objects should not equal 2");
+
+ Assert.IsTrue(Object.Equals(null,null), "null should equal null");
+
+ }
+ {
+ double x = Double.NaN;
+ double y = Double.NaN;
+ Assert.IsTrue(Object.Equals(x,y), "NaNs should always equal each other");
+
+ }
+ }
+
+ [Test]
+ public void TestGetHashCode() {
+ Object x = new Object();
+ Assert.AreEqual(x.GetHashCode(), x.GetHashCode(), "Object's hash code should not change");
+ }
+
+ [Test]
+ public void TestGetType() {
+ Object x = new Object();
+ Assert.IsNotNull(x.GetType(), "Should get a type for Object");
+ Assert.AreEqual(x.GetType().ToString(), "System.Object", "Bad name for Object type");
+
+ }
+
+ [Test]
+ public void TestReferenceEquals() {
+ Object x = new Object();
+ Object y = new Object();
+ Assert.IsTrue(Object.ReferenceEquals(x,x), "Object should equal itself");
+
+ Assert.IsTrue(!Object.ReferenceEquals(x,null), "object should not equal null");
+
+ Assert.IsTrue(!Object.ReferenceEquals(null,x), "null should not equal object");
+
+ Assert.IsTrue(!Object.ReferenceEquals(x,y), "Different objects should not equal 1");
+
+ Assert.IsTrue(!Object.ReferenceEquals(y,x), "Different objects should not equal 2");
+
+ Assert.IsTrue(Object.ReferenceEquals(null,null), "null should not equal null");
+
+ }
+
+ [Test]
+ public void TestToString() {
+ Object x = new Object();
+ Object y = new Object();
+ Assert.AreEqual(x.ToString(), y.ToString(), "All Objects should have same string rep");
+ }
+#if NET_2_0
+ class Foo<T> {}
+
+ [Test]
+ public void TestToStringOnGenericInstances ()
+ {
+ Foo<Object> foo = new Foo<Object> ();
+ Assert.AreEqual ("MonoTests.System.ObjectTest+Foo`1[System.Object]", foo.ToString (), "Bad ToString of generic instance");
+
+ }
+#endif
+}
+}