Ejemplo n.º 1
0
        public void EqualityOperatorsRespectsEqualityMethod()
        {
            var pair                      = new TestUnorderedPair <int>(1, 2);
            var matchingPair              = new TestUnorderedPair <int>(1, 2);
            var nonMatchingPair           = new TestUnorderedPair <int>(3, 4);
            var differentTypeMatchingPair = new TestUnorderedPair <decimal>(1, 2);
            var reversedPair              = new TestUnorderedPair <int>(2, 1);


            Assert.IsTrue(pair != null);
            Assert.IsTrue((TestUnorderedPair <int>)null == null);
            Assert.IsTrue(pair == matchingPair);
            Assert.IsTrue(pair != nonMatchingPair);
            Assert.IsTrue(pair != differentTypeMatchingPair);

            Assert.IsTrue(pair == reversedPair);


            Assert.IsFalse(pair == null);
            Assert.IsFalse((TestUnorderedPair <int>)null != null);
            Assert.IsFalse(pair != matchingPair);
            Assert.IsFalse(pair == nonMatchingPair);
            Assert.IsFalse(pair == differentTypeMatchingPair);

            Assert.IsFalse(pair != reversedPair);
        }
Ejemplo n.º 2
0
        // Just has to not throw.
        public void GetHashCodeRespectsEquality()
        {
            var pairHash         = new TestUnorderedPair <int>(1, 2).GetHashCode();
            var matchingPairHash = new TestUnorderedPair <int>(1, 2).GetHashCode();
            var reversedPairHash = new TestUnorderedPair <int>(2, 1).GetHashCode();

            Assert.IsTrue(pairHash.Equals(matchingPairHash));
            Assert.IsTrue(pairHash.Equals(reversedPairHash));
            //Don't need to assert anything about the other cases, since inequality doesn't demand unequal hashes.

            var pairHash2         = new TestUnorderedPair <string>("asdkffd4T?$%Yw%LW", "2v5gws45£Q$T5tyw").GetHashCode();
            var matchingPairHash2 = new TestUnorderedPair <string>("asdkffd4T?$%Yw%LW", "2v5gws45£Q$T5tyw").GetHashCode();
            var reversedPairHash2 = new TestUnorderedPair <string>("2v5gws45£Q$T5tyw", "asdkffd4T?$%Yw%LW").GetHashCode();

            Assert.IsTrue(pairHash2.Equals(matchingPairHash2));
            Assert.IsTrue(pairHash2.Equals(reversedPairHash2));
            //Don't need to assert anything about the other cases, since inequality doesn't demand unequal hashes.
        }
Ejemplo n.º 3
0
        public void EqualityTestsWork()
        {
            var pair                      = new TestUnorderedPair <int>(1, 2);
            var matchingPair              = new TestUnorderedPair <int>(1, 2);
            var nonMatchingPair           = new TestUnorderedPair <int>(3, 4);
            var differentTypeMatchingPair = new TestUnorderedPair <decimal>(1, 2);
            var reversedPair              = new TestUnorderedPair <int>(2, 1);

            Assert.IsFalse(pair.Equals(null));
            Assert.IsTrue(pair.Equals(matchingPair));
            Assert.IsFalse(pair.Equals(nonMatchingPair));
            Assert.IsFalse(pair.Equals(differentTypeMatchingPair));

            Assert.IsTrue(pair.Equals(reversedPair));

            var defaultValuePair             = new TestUnorderedPair <int>();
            var equivalentToDefaultValuePair = new TestUnorderedPair <int>(0, 0);

            Assert.IsTrue(defaultValuePair.Equals(equivalentToDefaultValuePair));
        }