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}"); }
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."); }