Skip to content

Commit 4596b04

Browse files
performance boost
1 parent d51af90 commit 4596b04

5 files changed

Lines changed: 10 additions & 13 deletions

File tree

AudioCuesheetEditor.Tests/Services/IO/ImportManagerTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
using AudioCuesheetEditor.Model.AudioCuesheet.Import;
1919
using AudioCuesheetEditor.Model.IO;
2020
using AudioCuesheetEditor.Model.IO.Import;
21+
using AudioCuesheetEditor.Model.UI;
2122
using AudioCuesheetEditor.Services.IO;
2223
using AudioCuesheetEditor.Services.UI;
2324
using AudioCuesheetEditor.Tests.Utility;
@@ -248,8 +249,7 @@ public void ImportCuesheet_WithImportCuesheetAvailable_ImportsCuesheetData()
248249
Assert.AreEqual(analyzedCuesheet.Tracks.Last().Title, sessionStateContainer.Cuesheet.Tracks.Last().Title);
249250
Assert.AreEqual(analyzedCuesheet.Tracks.Last().Begin, sessionStateContainer.Cuesheet.Tracks.Last().Begin);
250251
Assert.AreEqual(analyzedCuesheet.Tracks.Last().End, sessionStateContainer.Cuesheet.Tracks.Last().End);
251-
traceChangeManagerMock.Verify(x => x.RemoveTracedChanges(It.IsAny<Cuesheet>()));
252-
traceChangeManagerMock.Verify(x => x.RemoveTracedChanges(It.IsAny<Track>()));
252+
traceChangeManagerMock.Verify(x => x.RemoveTracedChanges(It.IsAny<IEnumerable<ITraceable>>()));
253253
}
254254

255255
private static IBrowserFile CreateBrowserFileMock(string name, string content = "TestContent")

AudioCuesheetEditor.Tests/Services/UI/TraceChangeManagerTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ public void RemoveTracedChanges_RemovesChanges_WhenChangesAvailable()
374374
tracedObjectHistoryChangedFired = true;
375375
};
376376
// Act
377-
manager.RemoveTracedChanges(cuesheet1);
377+
manager.RemoveTracedChanges([cuesheet1]);
378378
// Assert
379379
Assert.IsTrue(tracedObjectHistoryChangedFired);
380380
Assert.IsTrue(manager.CanUndo);
@@ -400,7 +400,7 @@ public void RemoveTracedChanges_RemovesNoChanges_WhenNoChangesAvailable()
400400
tracedObjectHistoryChangedFired = true;
401401
};
402402
// Act
403-
manager.RemoveTracedChanges(cuesheet1);
403+
manager.RemoveTracedChanges([cuesheet1]);
404404
// Assert
405405
Assert.IsTrue(tracedObjectHistoryChangedFired);
406406
Assert.IsTrue(manager.CanUndo);

AudioCuesheetEditor/Services/IO/ImportManager.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
using AudioCuesheetEditor.Model.IO;
1919
using AudioCuesheetEditor.Model.IO.Audio;
2020
using AudioCuesheetEditor.Model.IO.Import;
21+
using AudioCuesheetEditor.Model.UI;
2122
using AudioCuesheetEditor.Services.UI;
2223
using Microsoft.AspNetCore.Components.Forms;
2324
using System.Diagnostics;
@@ -237,11 +238,7 @@ private void ResetTracing()
237238
{
238239
if (_sessionStateContainer.ImportCuesheet != null)
239240
{
240-
_traceChangeManager.RemoveTracedChanges(_sessionStateContainer.ImportCuesheet);
241-
foreach (var track in _sessionStateContainer.ImportCuesheet.Tracks)
242-
{
243-
_traceChangeManager.RemoveTracedChanges(track);
244-
}
241+
_traceChangeManager.RemoveTracedChanges([_sessionStateContainer.ImportCuesheet, .. _sessionStateContainer.ImportCuesheet.Tracks]);
245242
}
246243
}
247244
}

AudioCuesheetEditor/Services/UI/ITraceChangeManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@ public interface ITraceChangeManager
2424
public void Undo();
2525
public void Redo();
2626
public void MergeLastEditWithEdit(Func<TracedChanges, bool> targetEdit);
27-
public void RemoveTracedChanges(ITraceable traceable);
27+
public void RemoveTracedChanges(IEnumerable<ITraceable> traceables);
2828
}
2929
}

AudioCuesheetEditor/Services/UI/TraceChangeManager.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -228,12 +228,12 @@ public void MergeLastEditWithEdit(Func<TracedChanges, bool> targetEdit)
228228
}
229229
}
230230

231-
public void RemoveTracedChanges(ITraceable traceable)
231+
public void RemoveTracedChanges(IEnumerable<ITraceable> traceables)
232232
{
233233
undoStack.RemoveAll(x => x.HasTraceableObject == false);
234-
undoStack.RemoveAll(x => x.Changes.Any(y => y.TraceableObject == traceable));
234+
undoStack.RemoveAll(x => x.Changes.Any(y => traceables.Contains(y.TraceableObject)));
235235
redoStack.RemoveAll(x => x.HasTraceableObject == false);
236-
redoStack.RemoveAll(x => x.Changes.Any(y => y.TraceableObject == traceable));
236+
redoStack.RemoveAll(x => x.Changes.Any(y => traceables.Contains(y.TraceableObject)));
237237
TracedObjectHistoryChanged?.Invoke(this, EventArgs.Empty);
238238
}
239239

0 commit comments

Comments
 (0)