Example #1
0
        public void SingleItemEqualsWorks()
        {
            {
                SingleItem <MyInt> si1 = (MyInt)42;
                SingleItem <MyInt> si2 = new MyInt(42);

                Assert.True(si1.Equals(si2));
                Assert.True(si2.Equals(si1));

                Assert.True(si1.Equals(si1));
                Assert.True(si2.Equals(si2));
            }

            {
                SingleItem <MyInt> si = new SingleItem <MyInt>(new MyInt(42));
                SingleItem <MyInt> ni = new SingleItem <MyInt>(null);

                Assert.True(si.Equals(si));
                Assert.False(si.Equals(ni));
                Assert.False(ni.Equals(si));
                Assert.True(ni.Equals(ni));
            }
        }
Example #2
0
        public void SingleItemEqualsCallsItemEquals()
        {
            {
                MyFalseEquatable e = new MyFalseEquatable();
                SingleItem <MyFalseEquatable> si1 = e;
                SingleItem <MyFalseEquatable> si2 = e;
                Assert.False(si1.Equals(si2));
            }

            {
                SingleItem <MyTrueEquatable> si1 = new MyTrueEquatable();
                SingleItem <MyTrueEquatable> si2 = new MyTrueEquatable();
                Assert.True(si1.Equals(si2));
            }
        }