public void TwoInstancesWithDifferentValuesAreNotEqual()
        {
            GlobalFilterCriteria subject1 = CreateSubject_StandardPayMonth();
            GlobalFilterCriteria subject2 = CreateSubject_StandardPayMonthAndVisaFilter();

            Assert.AreNotEqual(subject1, subject2);
            Assert.IsTrue(subject1 != subject2);
            Assert.IsFalse(subject1 == subject2);
            Assert.IsFalse(subject1.Equals(subject2));
            Assert.AreNotSame(subject1, subject2);
            Assert.AreNotEqual(subject1.GetHashCode(), subject2.GetHashCode());
        }
        public void TwoInstancesWithSameValuesShouldHaveSameEqualityHash()
        {
            GlobalFilterCriteria subject1 = CreateSubject_StandardPayMonth();
            GlobalFilterCriteria subject2 = CreateSubject_StandardPayMonth();

            Assert.AreEqual(subject1.SignificantDataChangeHash(), subject2.SignificantDataChangeHash());
            Assert.IsFalse(subject1.SignificantDataChangeHash() != subject2.SignificantDataChangeHash());
            Assert.IsTrue(subject1.SignificantDataChangeHash() == subject2.SignificantDataChangeHash());
            Assert.IsTrue(subject1.SignificantDataChangeHash().Equals(subject2.SignificantDataChangeHash()));
            Assert.AreNotSame(subject1, subject2);
            Assert.AreNotEqual(subject1.GetHashCode(), subject2.GetHashCode());
        }
        public void CheckReferenceInequality()
        {
            GlobalFilterCriteria subject1 = CreateSubject_StandardPayMonth();
            GlobalFilterCriteria subject2 = CreateSubject_NotFiltered();

            Assert.AreNotEqual(subject1, subject2);
            Assert.IsTrue(subject1 != subject2);
            Assert.IsFalse(subject1 == subject2);
            Assert.IsFalse(subject1.Equals(subject2));
            Assert.AreNotSame(subject1, subject2);
            Assert.AreNotEqual(subject1.GetHashCode(), subject2.GetHashCode());
        }