public void TestEqualityOperator() { #pragma warning disable 1718 // Comparison made to same variable; did you mean to compare something else? using (var foo = new Foo { A = 5, B = 5.5f }) { Assert.IsTrue(foo == foo); using (var notEqual = new Foo { A = 5, B = 5.6f }) { Assert.IsTrue(notEqual != foo); } Assert.IsTrue(foo != null); } var bar = new Bar { A = 5, B = 5.5f }; Assert.IsTrue(bar == bar); Assert.IsFalse(new Bar { A = 5, B = 5.6f } == bar); #if !__MonoCS__ using (var differentConstOverloads = new DifferentConstOverloads()) { DifferentConstOverloads other = null; Assert.IsTrue(differentConstOverloads != other); } #endif #pragma warning restore 1718 }
public void TestOperatorOverloads() { var differentConstOverloads = new DifferentConstOverloads(); Assert.IsTrue(differentConstOverloads == new DifferentConstOverloads()); Assert.IsFalse(differentConstOverloads == 5); }
public void TestEqualityOperator() { using (var foo = new Foo { A = 5, B = 5.5f }) { Assert.IsTrue(foo == foo); using (var notEqual = new Foo { A = 5, B = 5.6f }) { Assert.IsTrue(notEqual != foo); } Assert.IsTrue(foo != null); } var bar = new Bar { A = 5, B = 5.5f }; Assert.IsTrue(bar == bar); Assert.IsFalse(new Bar { A = 5, B = 5.6f } == bar); using (var differentConstOverloads = new DifferentConstOverloads()) { Assert.IsTrue(differentConstOverloads != null); } }
public void TestOperatorOverloads() { var differentConstOverloads = new DifferentConstOverloads(); var differentConstOverloads1 = new DifferentConstOverloads(); Assert.IsTrue(differentConstOverloads == differentConstOverloads1); // HACK: don't replace with a using because it triggers a bug in the Mono compiler // https://travis-ci.org/github/mono/CppSharp/jobs/674224017#L997 differentConstOverloads1.Dispose(); Assert.IsTrue(differentConstOverloads == 5); Assert.IsFalse(differentConstOverloads == 4); Assert.IsTrue(differentConstOverloads == "abcde"); Assert.IsFalse(differentConstOverloads == "abcd"); differentConstOverloads.Dispose(); }