Пример #1
0
        public static void AreEqual(TrackChunk trackChunk1, TrackChunk trackChunk2, bool compareDeltaTimes, string message = null)
        {
            var areEqual = MidiChunkEquality.Equals(
                trackChunk1,
                trackChunk2,
                new MidiChunkEqualityCheckSettings
            {
                EventEqualityCheckSettings = new MidiEventEqualityCheckSettings
                {
                    CompareDeltaTimes = compareDeltaTimes
                }
            },
                out var chunksComparingMessage);

            Assert.IsTrue(areEqual, $"{message} {chunksComparingMessage}");
        }
Пример #2
0
        public static void AreEqual(IEnumerable <TrackChunk> trackChunks1, IEnumerable <TrackChunk> trackChunks2, bool compareDeltaTimes, string message = null)
        {
            var trackChunksEnumerator1 = trackChunks1.GetEnumerator();
            var trackChunksEnumerator2 = trackChunks2.GetEnumerator();

            var i = 0;

            while (true)
            {
                var trackChunksEnumerated1 = !trackChunksEnumerator1.MoveNext();
                var trackChunksEnumerated2 = !trackChunksEnumerator2.MoveNext();
                if (trackChunksEnumerated1 || trackChunksEnumerated2)
                {
                    break;
                }

                string chunksComparingMessage;
                var    areEqual = MidiChunkEquality.Equals(
                    trackChunksEnumerator1.Current,
                    trackChunksEnumerator2.Current,
                    new MidiChunkEqualityCheckSettings
                {
                    EventEqualityCheckSettings = new MidiEventEqualityCheckSettings
                    {
                        CompareDeltaTimes = compareDeltaTimes
                    }
                },
                    out chunksComparingMessage);

                Assert.IsTrue(areEqual, $"{message} Track chunk {i} is invalid. {chunksComparingMessage}");

                i++;
            }

            Assert.IsTrue(trackChunksEnumerator1.Current == null && trackChunksEnumerator2.Current == null, $"{message} Chunks collections have different length.");
        }