@@ -220,5 +220,44 @@ public void GenerateExportFile_ShouldHandleEmptyProfile()
220220 Assert . AreEqual ( new TimeSpan ( 0 , 8 , 32 ) , result . First ( ) . End ) ;
221221 Assert . IsNotNull ( result . First ( ) . Content ) ;
222222 }
223+
224+ [ TestMethod ]
225+ public void GenerateExportFile_ReturnsEmpty_WithInvalidTracks ( )
226+ {
227+ // Arrange
228+ var exportProfile = new Exportprofile
229+ {
230+ Name = "TestProfile" ,
231+ SchemeHead = "%Cuesheet.Artist% - %Cuesheet.Title%" ,
232+ SchemeTracks = "%Track.Position% %Track.Artist% - %Track.Title%" ,
233+ Filename = "TestExport.txt"
234+ } ;
235+ var cuesheet = new Cuesheet ( )
236+ {
237+ Artist = "Test artist cuesheet" ,
238+ Title = "Test title cuesheet" ,
239+ Audiofile = new Audiofile ( "Test audiofile.mp3" )
240+ } ;
241+ cuesheet . AddTrack ( new Track ( )
242+ {
243+ Artist = "Test artist 1" ,
244+ Title = "Test title 1" ,
245+ Begin = TimeSpan . Zero ,
246+ Position = 1
247+ } ) ;
248+ cuesheet . AddTrack ( new Track ( )
249+ {
250+ Artist = "Test artist 2" ,
251+ Title = "Test title 2" ,
252+ Position = 2
253+ } ) ;
254+ mockSessionStateContainer . SetupProperty ( x => x . Cuesheet , cuesheet ) ;
255+
256+ // Act
257+ var result = exportfileGenerator . GenerateExportfiles ( exportProfile ) ;
258+
259+ // Assert
260+ Assert . AreEqual ( 0 , result . Count ) ;
261+ }
223262 }
224263}
0 commit comments