Esempio n. 1
0
        public void EqualityOperatorsRespectsEqualityMethod()
        {
            var pair            = new TestOrderedPair <int, string>(1, "2");
            var matchingPair    = new TestOrderedPair <int, string>(1, "2");
            var nonMatchingPair = new TestOrderedPair <int, string>(3, "4");
            var reversedPair    = new TestOrderedPair <string, int>("2", 1);

            Assert.IsTrue(pair != null);
            Assert.IsTrue((TestOrderedPair <int, string>)null == null);
            Assert.IsTrue(pair == matchingPair);
            Assert.IsTrue(pair != nonMatchingPair);
            Assert.IsTrue(pair != reversedPair);

            Assert.IsFalse(pair == null);
            Assert.IsFalse((TestOrderedPair <int, string>)null != null);
            Assert.IsFalse(pair != matchingPair);
            Assert.IsFalse(pair == nonMatchingPair);
            Assert.IsFalse(pair == reversedPair);

            var matchingTypePair         = new TestOrderedPair <int, int>(1, 2);
            var matchingTypeReversedPair = new TestOrderedPair <int, int>(2, 1);

            Assert.IsTrue(matchingTypePair != matchingTypeReversedPair);
            Assert.IsFalse(matchingTypePair == matchingTypeReversedPair);
        }
Esempio n. 2
0
        public void DefaultPairHasDefaultValues()
        {
            var pair = new TestOrderedPair <int, string>();

            Assert.AreEqual(pair.X, 0);
            Assert.AreEqual(pair.Y, null);
        }
Esempio n. 3
0
        public void EqualityTestsWork()
        {
            var pair            = new TestOrderedPair <int, string>(1, "2");
            var matchingPair    = new TestOrderedPair <int, string>(1, "2");
            var nonMatchingPair = new TestOrderedPair <int, string>(3, "4");
            var reversedPair    = new TestOrderedPair <string, int>("2", 1);

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

            var matchingTypePair         = new TestOrderedPair <int, int>(1, 2);
            var matchingTypeReversedPair = new TestOrderedPair <int, int>(2, 1);

            Assert.IsFalse(matchingTypePair.Equals(matchingTypeReversedPair));
        }
Esempio n. 4
0
        // Just has to not throw.
        public void GetHashCodeRespectsEquality()
        {
            var pairHash         = new TestOrderedPair <int, string>(1, "2").GetHashCode();
            var matchingPairHash = new TestOrderedPair <int, string>(1, "2").GetHashCode();

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

            var pairHash2         = new TestOrderedPair <int, int>(1, 2).GetHashCode();
            var matchingPairHash2 = new TestOrderedPair <int, int>(1, 2).GetHashCode();

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

            var pairHash3         = new TestOrderedPair <int, string>(14254, "2v5gws45£Q$T5tyw").GetHashCode();
            var matchingPairHash3 = new TestOrderedPair <int, string>(14254, "2v5gws45£Q$T5tyw").GetHashCode();

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