public void Equal_When_All_Fields_Are_Equal()
        {
            var x = CreateThesauriTotal();
            var y = CreateThesauriTotal();

            var comparer = new ThesauriTotalComparer();
            bool result = comparer.Equals(x, y);

            Assert.IsTrue(result);
        }
        public void Not_Equal_When_ThAKd4_Is_Different()
        {
            var x = CreateThesauriTotal();
            var y = CreateThesauriTotal();
            y.ThAKd4 = "E";

            var comparer = new ThesauriTotalComparer();
            bool result = comparer.Equals(x, y);

            Assert.IsFalse(result);
        }
        public void Not_Equal_When_MutKod_Is_Different()
        {
            var x = CreateThesauriTotal();
            var y = CreateThesauriTotal();
            y.MutKod = MutKod.RecordUpdated;

            var comparer = new ThesauriTotalComparer();
            bool result = comparer.Equals(x, y);

            Assert.IsFalse(result);
        }
        public void Return_Correct_HashCode_From_Fields()
        {
            var thesauriTotal = CreateThesauriTotal();
            int expectedHashCode =
                (byte)thesauriTotal.MutKod ^ thesauriTotal.ThAKd1.GetHashCode() ^ thesauriTotal.ThAKd2.GetHashCode() ^
                thesauriTotal.ThAKd3.GetHashCode() ^ thesauriTotal.ThAKd4.GetHashCode() ^
                thesauriTotal.ThAKd5.GetHashCode() ^ thesauriTotal.ThAKd6.GetHashCode() ^
                thesauriTotal.ThItMk.GetHashCode() ^ thesauriTotal.ThNm15.GetHashCode() ^
                thesauriTotal.ThNm25.GetHashCode() ^ thesauriTotal.ThNm4.GetHashCode() ^
                thesauriTotal.ThNm50.GetHashCode() ^ thesauriTotal.TsNr ^ thesauriTotal.TsItNr;

            var comparer = new ThesauriTotalComparer();
            int result = comparer.GetHashCode(thesauriTotal);

            Assert.AreEqual(expectedHashCode, result);
        }