@@ -43,8 +43,8 @@ public async Task AnalyseImportfile_WithTextfile_SetsImportCuesheet()
4343 {
4444 // Arrange
4545 var fileContent = "This is just a test" ;
46- var traceChangeManager = new TraceChangeManager ( TestHelper . CreateLogger < TraceChangeManager > ( ) ) ;
47- var sessionStateContainer = new SessionStateContainer ( traceChangeManager ) ;
46+ var traceChangeManagerMock = new Mock < ITraceChangeManager > ( ) ;
47+ var sessionStateContainer = new SessionStateContainer ( traceChangeManagerMock . Object ) ;
4848 var fileInputManagerMock = new Mock < IFileInputManager > ( ) ;
4949 var textImportServiceMock = new Mock < ITextImportService > ( ) ;
5050 var importCuesheet = new ImportCuesheet ( )
@@ -74,8 +74,7 @@ public async Task AnalyseImportfile_WithTextfile_SetsImportCuesheet()
7474 } ;
7575 textImportServiceMock . Setup ( x => x . AnalyseAsync ( fileContent ) ) . ReturnsAsync ( importfile ) ;
7676 var loggerMock = new Mock < ILogger < ImportManager > > ( ) ;
77- var importManager = new ImportManager ( sessionStateContainer , traceChangeManager , fileInputManagerMock . Object , textImportServiceMock . Object , loggerMock . Object ) ;
78- var testHelper = new TestHelper ( ) ;
77+ var importManager = new ImportManager ( sessionStateContainer , traceChangeManagerMock . Object , fileInputManagerMock . Object , textImportServiceMock . Object , loggerMock . Object ) ;
7978 sessionStateContainer . Importfile = new Importfile ( )
8079 {
8180 FileContent = "This is just a test" ,
@@ -101,6 +100,8 @@ public async Task AnalyseImportfile_WithTextfile_SetsImportCuesheet()
101100 Assert . AreEqual ( importCuesheet . Tracks . First ( ) . Position , sessionStateContainer . ImportCuesheet . Tracks . First ( ) . Position ) ;
102101 Assert . AreEqual ( importCuesheet . Tracks . First ( ) . PreGap , sessionStateContainer . ImportCuesheet . Tracks . First ( ) . PreGap ) ;
103102 Assert . AreEqual ( importCuesheet . Tracks . First ( ) . PostGap , sessionStateContainer . ImportCuesheet . Tracks . First ( ) . PostGap ) ;
103+ traceChangeManagerMock . Verify ( x => x . TraceChanges ( It . IsAny < Cuesheet > ( ) ) ) ;
104+ traceChangeManagerMock . Verify ( x => x . TraceChanges ( It . IsAny < Track > ( ) ) ) ;
104105 }
105106
106107 [ TestMethod ( ) ]
@@ -120,7 +121,6 @@ public async Task AnalyseImportfile_WithoutAnalysedCuesheet_DoesNothing()
120121 textImportServiceMock . Setup ( x => x . AnalyseAsync ( fileContent ) ) . ReturnsAsync ( importfile ) ;
121122 var loggerMock = new Mock < ILogger < ImportManager > > ( ) ;
122123 var importManager = new ImportManager ( sessionStateContainer , traceChangeManager , fileInputManagerMock . Object , textImportServiceMock . Object , loggerMock . Object ) ;
123- var testHelper = new TestHelper ( ) ;
124124 sessionStateContainer . Importfile = importfile ;
125125 // Act
126126 await importManager . AnalyseImportfile ( ) ;
@@ -207,6 +207,51 @@ public async Task ImportFilesAsync_TextFile_ImportsCorrectly()
207207 Assert . AreEqual ( ImportFileType . Textfile , sessionStateContainer . Importfile . FileType ) ;
208208 }
209209
210+ [ TestMethod ]
211+ public void ImportCuesheet_WithImportCuesheetAvailable_ImportsCuesheetData ( )
212+ {
213+ // Arrange
214+ var traceChangeManagerMock = new Mock < ITraceChangeManager > ( ) ;
215+ var sessionStateContainer = new SessionStateContainer ( traceChangeManagerMock . Object ) ;
216+ var analyzedCuesheet = new Cuesheet ( )
217+ {
218+ Artist = "Artist 123" ,
219+ Title = "Title 456"
220+ } ;
221+ analyzedCuesheet . AddTrack ( new ( )
222+ {
223+ Artist = "Track Artist 1" ,
224+ Title = "Track Title 1" ,
225+ End = new TimeSpan ( 0 , 4 , 23 ) ,
226+ } ) ;
227+ analyzedCuesheet . AddTrack ( new ( )
228+ {
229+ Artist = "Track Artist 2" ,
230+ Title = "Track Title 2" ,
231+ End = new TimeSpan ( 0 , 8 , 54 ) ,
232+ } ) ;
233+ sessionStateContainer . ImportCuesheet = analyzedCuesheet ;
234+ var fileInputManagerMock = new Mock < IFileInputManager > ( ) ;
235+ var textImportServiceMock = new Mock < ITextImportService > ( ) ;
236+ var loggerMock = new Mock < ILogger < ImportManager > > ( ) ;
237+ var importManager = new ImportManager ( sessionStateContainer , traceChangeManagerMock . Object , fileInputManagerMock . Object , textImportServiceMock . Object , loggerMock . Object ) ;
238+ // Act
239+ importManager . ImportCuesheet ( ) ;
240+ // Assert
241+ Assert . AreEqual ( analyzedCuesheet . Artist , sessionStateContainer . Cuesheet . Artist ) ;
242+ Assert . AreEqual ( analyzedCuesheet . Title , sessionStateContainer . Cuesheet . Title ) ;
243+ Assert . AreEqual ( analyzedCuesheet . Tracks . First ( ) . Artist , sessionStateContainer . Cuesheet . Tracks . First ( ) . Artist ) ;
244+ Assert . AreEqual ( analyzedCuesheet . Tracks . First ( ) . Title , sessionStateContainer . Cuesheet . Tracks . First ( ) . Title ) ;
245+ Assert . AreEqual ( analyzedCuesheet . Tracks . First ( ) . Begin , sessionStateContainer . Cuesheet . Tracks . First ( ) . Begin ) ;
246+ Assert . AreEqual ( analyzedCuesheet . Tracks . First ( ) . End , sessionStateContainer . Cuesheet . Tracks . First ( ) . End ) ;
247+ Assert . AreEqual ( analyzedCuesheet . Tracks . Last ( ) . Artist , sessionStateContainer . Cuesheet . Tracks . Last ( ) . Artist ) ;
248+ Assert . AreEqual ( analyzedCuesheet . Tracks . Last ( ) . Title , sessionStateContainer . Cuesheet . Tracks . Last ( ) . Title ) ;
249+ Assert . AreEqual ( analyzedCuesheet . Tracks . Last ( ) . Begin , sessionStateContainer . Cuesheet . Tracks . Last ( ) . Begin ) ;
250+ 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 > ( ) ) ) ;
253+ }
254+
210255 private static IBrowserFile CreateBrowserFileMock ( string name , string content = "TestContent" )
211256 {
212257 var fileMock = new Mock < IBrowserFile > ( ) ;
0 commit comments