1
1
using System . Collections . Generic ;
2
2
using System . Linq ;
3
- using Moq ;
3
+ using NSubstitute ;
4
4
using Palmmedia . ReportGenerator . Core . Parser . Analysis ;
5
5
using Palmmedia . ReportGenerator . Core . Parser . FileReading ;
6
6
using Xunit ;
@@ -267,24 +267,24 @@ public void AnalyzeFile_NonExistingFile_AnalysisIsReturned()
267
267
[ Fact ]
268
268
public void AnalyzeFile_AdditionFileReaderNoError_RegularFileReaderIgnored ( )
269
269
{
270
- var additionalFileReaderMock = new Mock < IFileReader > ( ) ;
271
- string error = null ;
272
- additionalFileReaderMock . Setup ( f => f . LoadFile ( It . IsAny < string > ( ) , out error ) )
270
+ var additionalFileReader = Substitute . For < IFileReader > ( ) ;
271
+ string errorArg = Arg . Any < string > ( ) ;
272
+ additionalFileReader . LoadFile ( Arg . Any < string > ( ) , out errorArg )
273
273
. Returns ( new [ ] { "Test" } ) ;
274
274
275
- var fileReaderMock = new Mock < IFileReader > ( ) ;
275
+ var fileReader = Substitute . For < IFileReader > ( ) ;
276
276
277
- var sut = new CodeFile ( "C:\\ temp\\ Other.cs" , new int [ ] { - 2 , - 1 , 0 , 1 } , new LineVisitStatus [ ] { LineVisitStatus . NotCoverable , LineVisitStatus . NotCoverable , LineVisitStatus . NotCovered , LineVisitStatus . Covered } , additionalFileReaderMock . Object ) ;
277
+ var sut = new CodeFile ( "C:\\ temp\\ Other.cs" , new int [ ] { - 2 , - 1 , 0 , 1 } , new LineVisitStatus [ ] { LineVisitStatus . NotCoverable , LineVisitStatus . NotCoverable , LineVisitStatus . NotCovered , LineVisitStatus . Covered } , additionalFileReader ) ;
278
278
279
279
Assert . Null ( sut . TotalLines ) ;
280
280
281
- var fileAnalysis = sut . AnalyzeFile ( fileReaderMock . Object ) ;
281
+ var fileAnalysis = sut . AnalyzeFile ( fileReader ) ;
282
282
283
283
Assert . NotNull ( fileAnalysis ) ;
284
284
Assert . Null ( fileAnalysis . Error ) ;
285
285
286
- additionalFileReaderMock . Verify ( f => f . LoadFile ( It . IsAny < string > ( ) , out error ) , Times . Once ) ;
287
- fileReaderMock . Verify ( f => f . LoadFile ( It . IsAny < string > ( ) , out error ) , Times . Never ) ;
286
+ additionalFileReader . Received ( 1 ) . LoadFile ( Arg . Any < string > ( ) , out errorArg ) ;
287
+ fileReader . DidNotReceive ( ) . LoadFile ( Arg . Any < string > ( ) , out errorArg ) ;
288
288
}
289
289
290
290
/// <summary>
@@ -293,29 +293,38 @@ public void AnalyzeFile_AdditionFileReaderNoError_RegularFileReaderIgnored()
293
293
[ Fact ]
294
294
public void AnalyzeFile_AdditionFileReaderReturnsError_RegularFileReaderUsed ( )
295
295
{
296
- var additionalFileReaderMock = new Mock < IFileReader > ( ) ;
297
- string error = "Some error" ;
298
- additionalFileReaderMock . Setup ( f => f . LoadFile ( It . IsAny < string > ( ) , out error ) )
299
- . Returns ( ( string [ ] ) null ) ;
300
-
301
- var fileReaderMock = new Mock < IFileReader > ( ) ;
302
- fileReaderMock . Setup ( f => f . LoadFile ( It . IsAny < string > ( ) , out error ) )
303
- . Returns ( new [ ] { "Test" } ) ;
304
-
305
- var sut = new CodeFile ( "C:\\ temp\\ Other.cs" , new int [ ] { - 2 , - 1 , 0 , 1 } , new LineVisitStatus [ ] { LineVisitStatus . NotCoverable , LineVisitStatus . NotCoverable , LineVisitStatus . NotCovered , LineVisitStatus . Covered } , additionalFileReaderMock . Object ) ;
296
+ var additionalFileReader = Substitute . For < IFileReader > ( ) ;
297
+ string errorArg = Arg . Any < string > ( ) ;
298
+ string errorOut = "Some error" ;
299
+ additionalFileReader . LoadFile ( Arg . Any < string > ( ) , out errorArg )
300
+ . Returns ( x =>
301
+ {
302
+ x [ 1 ] = errorOut ;
303
+ return null ;
304
+ } ) ;
305
+
306
+ var fileReader = Substitute . For < IFileReader > ( ) ;
307
+ fileReader . LoadFile ( Arg . Any < string > ( ) , out errorArg )
308
+ . Returns ( x =>
309
+ {
310
+ x [ 1 ] = errorOut ;
311
+ return new [ ] { "Test" } ;
312
+ } ) ;
313
+
314
+ var sut = new CodeFile ( "C:\\ temp\\ Other.cs" , new int [ ] { - 2 , - 1 , 0 , 1 } , new LineVisitStatus [ ] { LineVisitStatus . NotCoverable , LineVisitStatus . NotCoverable , LineVisitStatus . NotCovered , LineVisitStatus . Covered } , additionalFileReader ) ;
306
315
307
316
Assert . Null ( sut . TotalLines ) ;
308
317
309
- var fileAnalysis = sut . AnalyzeFile ( fileReaderMock . Object ) ;
318
+ var fileAnalysis = sut . AnalyzeFile ( fileReader ) ;
310
319
311
320
Assert . NotNull ( fileAnalysis ) ;
312
321
Assert . NotNull ( fileAnalysis . Error ) ;
313
322
Assert . Equal ( fileAnalysis . Path , fileAnalysis . Path ) ;
314
323
Assert . Equal ( 4 , sut . TotalLines ) ;
315
324
Assert . Equal ( 4 , fileAnalysis . Lines . Count ( ) ) ;
316
325
317
- additionalFileReaderMock . Verify ( f => f . LoadFile ( It . IsAny < string > ( ) , out error ) , Times . Once ) ;
318
- fileReaderMock . Verify ( f => f . LoadFile ( It . IsAny < string > ( ) , out error ) , Times . Once ) ;
326
+ additionalFileReader . Received ( 1 ) . LoadFile ( Arg . Any < string > ( ) , out errorArg ) ;
327
+ fileReader . Received ( 1 ) . LoadFile ( Arg . Any < string > ( ) , out errorArg ) ;
319
328
}
320
329
321
330
/// <summary>
0 commit comments