public static int Main() { int num = 0; Enum e1 = new TestingEnum(); Enum e2 = new TestingEnum(); Enum e3 = new TestingEnum2(); ++num; if (!e1.Equals(e2)) { return(num); } ++num; if (e1.Equals(e3)) { return(num); } ++num; if (TestingEnum.Test.Equals(TestingEnum2.Test)) { return(num); } return(0); }
public void TestEquals () { Enum e1 = new TestingEnum (); Enum e2 = new TestingEnum (); Enum e3 = new TestingEnum2 (); Assert.IsTrue (e1.Equals (e1), "#1"); Assert.IsTrue (e1.Equals (e2), "#2"); Assert.IsFalse (e1.Equals (e3), "#3"); Assert.IsFalse (e1.Equals (null), "#4"); }
public void TestEquals() { Enum e1 = new TestingEnum(); Enum e2 = new TestingEnum(); Enum e3 = new TestingEnum2(); Assert("An enum should equal itself", e1.Equals(e1)); Assert("An enum should equal a copy", e1.Equals(e2)); Assert("Shouldn't match", !e1.Equals(e3)); Assert("Shouldn't match null", !e1.Equals(null)); }
public void TestCompareTo () { Enum e1 = new TestingEnum (); Enum e2 = new TestingEnum (); Enum e3 = new TestingEnum2 (); Assert.AreEqual (0, e1.CompareTo (e1), "#A1"); Assert.AreEqual (0, e1.CompareTo (e2), "#A2"); TestingEnum x = TestingEnum.This; TestingEnum y = TestingEnum.Is; Assert.AreEqual (0, x.CompareTo (x), "#B1"); Assert.AreEqual (-1, x.CompareTo (y), "#B2"); Assert.AreEqual (1, y.CompareTo (x), "#B3"); try { e1.CompareTo (e3); Assert.Fail ("#C1"); } catch (ArgumentException ex) { // Object must be the same type as the enum. // The type passed in was MonoTests.System.EnumTest+TestingEnum2; // the enum type was MonoTests.System.EnumTest+TestingEnum Assert.AreEqual (typeof (ArgumentException), ex.GetType (), "#A2"); Assert.IsNull (ex.InnerException, "#A3"); Assert.IsNotNull (ex.Message, "#A4"); Assert.IsTrue (ex.Message.IndexOf (typeof (TestingEnum).FullName) != -1, "#A5"); Assert.IsTrue (ex.Message.IndexOf (typeof (TestingEnum2).FullName) != -1, "#A6"); Assert.IsNull (ex.ParamName, "#A7"); } try { ((Enum) e1).CompareTo ((Enum) e3); Assert.Fail ("#D1"); } catch (ArgumentException ex) { // Object must be the same type as the enum. // The type passed in was MonoTests.System.EnumTest+TestingEnum2; // the enum type was MonoTests.System.EnumTest+TestingEnum Assert.AreEqual (typeof (ArgumentException), ex.GetType (), "#D2"); Assert.IsNull (ex.InnerException, "#D3"); Assert.IsNotNull (ex.Message, "#D4"); Assert.IsTrue (ex.Message.IndexOf (typeof (TestingEnum).FullName) != -1, "#D5"); Assert.IsTrue (ex.Message.IndexOf (typeof (TestingEnum2).FullName) != -1, "#D6"); Assert.IsNull (ex.ParamName, "#D7"); } }
public static int Main () { int num = 0; Enum e1 = new TestingEnum(); Enum e2 = new TestingEnum(); Enum e3 = new TestingEnum2(); ++num; if (!e1.Equals(e2)) return num; ++num; if (e1.Equals(e3)) return num; ++num; if (TestingEnum.Test.Equals(TestingEnum2.Test)) return num; return 0; }
public void TestCompareTo() { Enum e1 = new TestingEnum(); Enum e2 = new TestingEnum(); Enum e3 = new TestingEnum2(); AssertEquals("An enum should equal itself", 0, e1.CompareTo(e1)); AssertEquals("An enum should equal a copy", 0, e1.CompareTo(e2)); TestingEnum x = TestingEnum.This; TestingEnum y = TestingEnum.Is; AssertEquals("should equal", 0, x.CompareTo(x)); AssertEquals("less than", -1, x.CompareTo(y)); AssertEquals("greater than", 1, y.CompareTo(x)); { bool errorThrown = false; try { e1.CompareTo(e3); } catch (ArgumentException) { errorThrown = true; } Assert("1) Compare type mismatch not caught.", errorThrown); } { bool errorThrown = false; try { ((Enum)e1).CompareTo((Enum)e3); } catch (ArgumentException) { errorThrown = true; } Assert("2) Compare type mismatch not caught.", errorThrown); } }
public void TestGetHashCode () { Enum e1 = new TestingEnum (); Enum e2 = new TestingEnum2 (); Assert.AreEqual (e1.GetHashCode (), e1.GetHashCode ()); }
public void TestGetHashCode() { Enum e1 = new TestingEnum(); Enum e2 = new TestingEnum2(); AssertEquals("hash code is deterministic", e1.GetHashCode(), e1.GetHashCode()); }