public void RemoveDescriptors()
        {
            var guid        = Guid.NewGuid();
            var uniqueGuids = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };

            var item1 = TestRecord.CreateTestRecord(guid, uniqueGuids, new string[] { "1", "2", "3" });

            item1.UniqueName.Equals(item1.UniqueNameWithDifferentDataDescriptors).Should().BeFalse();
        }
        public void CompareDifferentHashCode()
        {
            var uniqueGuids = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };

            var item1 = TestRecord.CreateTestRecord(Guid.NewGuid(), uniqueGuids, new string[] { "1", "2", "3" });
            var item2 = TestRecord.CreateTestRecord(Guid.NewGuid(), uniqueGuids, new string[] { "1", "2", "3" });

            item1.UniqueGuid.Equals(item2.UniqueGuid).Should().BeFalse();
        }
        public void CompareRecordHashCode()
        {
            var guid        = Guid.NewGuid();
            var uniqueGuids = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };

            var item1 = TestRecord.CreateTestRecord(guid, uniqueGuids, new string[] { "1", "2", "3" });
            var item2 = TestRecord.CreateTestRecord(guid, uniqueGuids, new string[] { "1", "2", "3" });

            item1.GetHashCode().Equals(item2.GetHashCode()).Should().BeTrue();
        }
        public void CompareDataStringArrayEquality()
        {
            var guid        = Guid.NewGuid();
            var uniqueGuids = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };

            var item1 = TestRecord.CreateTestRecord(guid, uniqueGuids, new string[] { "1", "2", "3" });
            var item2 = TestRecord.CreateTestRecord(guid, uniqueGuids, new string[] { "1", "2", "3" });

            item1.ArrayOfString.Equals(item2.ArrayOfString).Should().BeTrue();
        }
        public void RecordsDoNotEqual()
        {
            var guid        = Guid.NewGuid();
            var uniqueGuids = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };

            var item1 = TestRecord.CreateTestRecord(guid, uniqueGuids, new string[] { "1", "2", "3" });
            var item2 = TestRecord.CreateTestRecord(Guid.NewGuid(), uniqueGuids, new string[] { "1", "2", "3" });

            (item1.Equals(item2)).Should().BeFalse();
            (item1 == item2).Should().BeFalse();
            (item1 != item2).Should().BeTrue();
        }
        public void RecordEqualsItself()
        {
            var guid        = Guid.NewGuid();
            var uniqueGuids = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };
            var item1       = TestRecord.CreateTestRecord(guid, uniqueGuids, new string[] { "1", "2", "3" });

            item1.Equals(item1).Should().BeTrue();
            item1.ID.Equals(item1.ID).Should().BeTrue();
            item1.UniqueGuid.Equals(item1.UniqueGuid).Should().BeTrue();
            item1.ArrayOfUniqueGuid.Equals(item1.ArrayOfUniqueGuid).Should().BeTrue();
            item1.UniqueName.Equals(item1.UniqueName).Should().BeTrue();
        }