public void ShouldIdentifyAsEqual()
        {
            var dto0 = new SubFingerprintData(new long[0], 0, 0d, new ModelReference<int>(1), new ModelReference<int>(0));

            var dto1 = new SubFingerprintData(new long[0], 0, 0d, new ModelReference<int>(1), new ModelReference<int>(0));

            Assert.AreEqual(dto0, dto1);
        }
        private void AsserSubFingerprintsAreEqual(SubFingerprintData expected, SubFingerprintData actual)
        {
            Assert.AreEqual(expected.SubFingerprintReference, actual.SubFingerprintReference);
            Assert.AreEqual(expected.TrackReference, actual.TrackReference);
            for (int i = 0; i < expected.Signature.Length; i++)
            {
                Assert.AreEqual(expected.Signature[i], actual.Signature[i]);
            }

            Assert.AreEqual(expected.SequenceNumber, actual.SequenceNumber);
            Assert.IsTrue(System.Math.Abs(expected.SequenceAt - actual.SequenceAt) < Epsilon);
        }
        public void ShouldNotBeEqualToNull()
        {
            var dto = new SubFingerprintData(new long[0], 0, 0d, new ModelReference<int>(1), new ModelReference<int>(0));

            Assert.IsFalse(dto.Equals(null));
        }