示例#1
0
    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
    }
示例#2
0
    public void TestOperatorOverloads()
    {
        var differentConstOverloads = new DifferentConstOverloads();

        Assert.IsTrue(differentConstOverloads == new DifferentConstOverloads());
        Assert.IsFalse(differentConstOverloads == 5);
    }
示例#3
0
    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);
        }
    }
示例#4
0
    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();
    }
示例#5
0
 public void TestOperatorOverloads()
 {
     var differentConstOverloads = new DifferentConstOverloads();
     Assert.IsTrue(differentConstOverloads == new DifferentConstOverloads());
     Assert.IsFalse(differentConstOverloads == 5);
 }
示例#6
0
 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);
     }
 }