public static void Equals()
        {
            C    c  = new C();
            DFoo d1 = c.Foo;
            DFoo d2 = c.Foo;

            Assert.NotSame(d1, d2);
            Assert.Equal(d1, d2);
            Assert.True(d1 == d2);
            Assert.False(d1 != d2);

            d1 = c.Foo;
            d2 = c.Goo;
            Assert.NotEqual(d1, d2);
            Assert.False(d1 == d2);
            Assert.True(d1 != d2);

            d1 = new C().Foo;
            d2 = new C().Foo;
            Assert.NotEqual(d1, d2);
            Assert.False(d1 == d2);
            Assert.True(d1 != d2);

            DGoo dgoo = c.Foo;

            d1 = c.Foo;
            Assert.NotEqual(d1, (object)dgoo);

            Assert.Equal(d1.GetHashCode(), d1.GetHashCode());
        }
示例#2
0
    public static void Equals()
    {
        C    c  = new C();
        DFoo d1 = c.Foo;
        DFoo d2 = c.Foo;

        Assert.False(RuntimeHelpers.ReferenceEquals(d1, d2));
        bool b;

        b = d1.Equals(d2);
        Assert.True(b);
        Assert.True(d1 == d2);
        Assert.False(d1 != d2);

        d1 = c.Foo;
        d2 = c.Goo;
        b  = d1.Equals(d2);
        Assert.False(b);
        Assert.False(d1 == d2);
        Assert.True(d1 != d2);

        d1 = new C().Foo;
        d2 = new C().Foo;
        b  = d1.Equals(d2);
        Assert.False(b);
        Assert.False(d1 == d2);
        Assert.True(d1 != d2);

        DGoo dgoo = c.Foo;

        d1 = c.Foo;
        b  = d1.Equals(dgoo);
        Assert.False(b);

        int h  = d1.GetHashCode();
        int h2 = d1.GetHashCode();

        Assert.Equal(h, h2);
    }
示例#3
0
 public abstract void M01(T p1, ref T p2, out DGoo <T> p3);