11using System ;
2+ using System . IO . Abstractions ;
23using System . Linq ;
34using System . Threading ;
45using System . Threading . Tasks ;
89using NuGet . Versioning ;
910using Serilog . Events ;
1011using Shouldly ;
12+ using Spectre . Console ;
1113using Spectre . Console . Testing ;
1214using Stryker . Abstractions ;
1315using Stryker . Abstractions . Options ;
@@ -35,20 +37,23 @@ public StrykerCLITests()
3537 {
3638 _options = new StrykerOptions ( ) { Thresholds = new Thresholds { Break = 0 } } ;
3739 _runResults = new StrykerRunResult ( _options , 0.3 ) ;
38- _strykerRunnerMock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) , It . IsAny < ILoggerFactory > ( ) , It . IsAny < IProjectOrchestrator > ( ) ) )
39- . Callback < IStrykerInputs , ILoggerFactory , IProjectOrchestrator > ( ( c , l , p ) => _inputs = c )
40+ _strykerRunnerMock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) ) )
41+ . Callback < IStrykerInputs > ( c => _inputs = c )
4042 . Returns ( _runResults )
4143 . Verifiable ( ) ;
4244 _nugetClientMock . Setup ( x => x . GetLatestVersionAsync ( ) ) . Returns ( Task . FromResult ( new SemanticVersion ( 10 , 0 , 0 ) ) ) ;
43- _target = new StrykerCli ( _strykerRunnerMock . Object , null , _loggingInitializerMock . Object , _nugetClientMock . Object ) ;
45+ var configBuilder = new ConfigBuilder ( ) ;
46+ var consoleMock = new Mock < IAnsiConsole > ( ) ;
47+ var fileSystemMock = new Mock < IFileSystem > ( ) ;
48+ _target = new StrykerCli ( _strykerRunnerMock . Object , configBuilder , _loggingInitializerMock . Object , _nugetClientMock . Object , consoleMock . Object , fileSystemMock . Object ) ;
4449 }
4550
4651 [ TestMethod ]
4752 public void ShouldDisplayInfoOnHelp ( )
4853 {
4954 var mock = new Mock < IStrykerRunner > ( MockBehavior . Strict ) ;
5055 var console = new TestConsole ( ) . EmitAnsiSequences ( ) . Width ( 160 ) ;
51- var target = new StrykerCli ( mock . Object , console : console ) ;
56+ var target = new StrykerCli ( mock . Object , new ConfigBuilder ( ) , Mock . Of < ILoggingInitializer > ( ) , Mock . Of < IStrykerNugetFeedClient > ( ) , console , Mock . Of < IFileSystem > ( ) ) ;
5257
5358 target . Run ( new string [ ] { "--help" } ) ;
5459
@@ -68,12 +73,12 @@ public void ShouldDisplayLogo()
6873 var strykerRunnerMock = new Mock < IStrykerRunner > ( MockBehavior . Strict ) ;
6974 var strykerRunResult = new StrykerRunResult ( _options , 0.3 ) ;
7075
71- strykerRunnerMock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) , It . IsAny < ILoggerFactory > ( ) , It . IsAny < IProjectOrchestrator > ( ) ) )
76+ strykerRunnerMock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) ) )
7277 . Returns ( strykerRunResult )
7378 . Verifiable ( ) ;
7479
7580 var console = new TestConsole ( ) . EmitAnsiSequences ( ) . Width ( 160 ) ;
76- var target = new StrykerCli ( strykerRunnerMock . Object , null , _loggingInitializerMock . Object , _nugetClientMock . Object , console ) ;
81+ var target = new StrykerCli ( strykerRunnerMock . Object , new ConfigBuilder ( ) , _loggingInitializerMock . Object , _nugetClientMock . Object , console , Mock . Of < IFileSystem > ( ) ) ;
7782
7883 target . Run ( Array . Empty < string > ( ) ) ;
7984
@@ -121,12 +126,11 @@ public void OnMutationScoreBelowThresholdBreak_ShouldReturn_ExitCodeBreakThresho
121126 } ;
122127 var strykerRunResult = new StrykerRunResult ( options , 0.3 ) ;
123128
124- mock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) , It . IsAny < ILoggerFactory > ( ) , It . IsAny < IProjectOrchestrator > ( ) ) )
125- . Callback < IStrykerInputs , ILoggerFactory , IProjectOrchestrator > ( ( c , l , p ) => Utilities . Logging . ApplicationLogging . LoggerFactory = l )
129+ mock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) ) )
126130 . Returns ( strykerRunResult )
127131 . Verifiable ( ) ;
128132
129- var target = new StrykerCli ( mock . Object ) ;
133+ var target = new StrykerCli ( mock . Object , new ConfigBuilder ( ) , Mock . Of < ILoggingInitializer > ( ) , Mock . Of < IStrykerNugetFeedClient > ( ) , Mock . Of < IAnsiConsole > ( ) , Mock . Of < IFileSystem > ( ) ) ;
130134 var result = target . Run ( new string [ ] { } ) ;
131135
132136 mock . Verify ( ) ;
@@ -146,11 +150,11 @@ public void OnMutationScoreEqualToNullAndThresholdBreakEqualTo0_ShouldReturnExit
146150 }
147151 } ;
148152 var strykerRunResult = new StrykerRunResult ( options , double . NaN ) ;
149- mock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) , It . IsAny < ILoggerFactory > ( ) , It . IsAny < IProjectOrchestrator > ( ) ) )
153+ mock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) ) )
150154 . Returns ( strykerRunResult )
151155 . Verifiable ( ) ;
152156
153- var target = new StrykerCli ( mock . Object ) ;
157+ var target = new StrykerCli ( mock . Object , new ConfigBuilder ( ) , Mock . Of < ILoggingInitializer > ( ) , Mock . Of < IStrykerNugetFeedClient > ( ) , Mock . Of < IAnsiConsole > ( ) , Mock . Of < IFileSystem > ( ) ) ;
154158 var result = target . Run ( new string [ ] { } ) ;
155159
156160 mock . Verify ( ) ;
@@ -170,11 +174,11 @@ public void OnMutationScoreEqualToNullAndThresholdBreakAbove0_ShouldReturnExitCo
170174 }
171175 } ;
172176 var strykerRunResult = new StrykerRunResult ( options , double . NaN ) ;
173- mock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) , It . IsAny < ILoggerFactory > ( ) , It . IsAny < IProjectOrchestrator > ( ) ) )
177+ mock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) ) )
174178 . Returns ( strykerRunResult )
175179 . Verifiable ( ) ;
176180
177- var target = new StrykerCli ( mock . Object , null , _loggingInitializerMock . Object , _nugetClientMock . Object ) ;
181+ var target = new StrykerCli ( mock . Object , new ConfigBuilder ( ) , _loggingInitializerMock . Object , _nugetClientMock . Object , Mock . Of < IAnsiConsole > ( ) , Mock . Of < IFileSystem > ( ) ) ;
178182 var result = target . Run ( new string [ ] { } ) ;
179183
180184 mock . Verify ( ) ;
@@ -195,9 +199,9 @@ public void OnMutationScoreAboveThresholdBreak_ShouldReturnExitCode0()
195199 } ;
196200 var strykerRunResult = new StrykerRunResult ( options , 0.1 ) ;
197201
198- mock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) , It . IsAny < ILoggerFactory > ( ) , It . IsAny < IProjectOrchestrator > ( ) ) ) . Returns ( strykerRunResult ) . Verifiable ( ) ;
202+ mock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) ) ) . Returns ( strykerRunResult ) . Verifiable ( ) ;
199203
200- var target = new StrykerCli ( mock . Object ) ;
204+ var target = new StrykerCli ( mock . Object , new ConfigBuilder ( ) , Mock . Of < ILoggingInitializer > ( ) , Mock . Of < IStrykerNugetFeedClient > ( ) , Mock . Of < IAnsiConsole > ( ) , Mock . Of < IFileSystem > ( ) ) ;
201205 var result = target . Run ( new string [ ] { } ) ;
202206
203207 mock . Verify ( ) ;
@@ -212,7 +216,7 @@ public void OnMutationScoreAboveThresholdBreak_ShouldReturnExitCode0()
212216 public void ShouldNotStartStryker_WithHelpArgument ( string argName )
213217 {
214218 var mock = new Mock < IStrykerRunner > ( MockBehavior . Strict ) ;
215- var target = new StrykerCli ( mock . Object ) ;
219+ var target = new StrykerCli ( mock . Object , new ConfigBuilder ( ) , Mock . Of < ILoggingInitializer > ( ) , Mock . Of < IStrykerNugetFeedClient > ( ) , Mock . Of < IAnsiConsole > ( ) , Mock . Of < IFileSystem > ( ) ) ;
216220
217221 target . Run ( new string [ ] { argName } ) ;
218222
@@ -223,11 +227,11 @@ public void ShouldNotStartStryker_WithHelpArgument(string argName)
223227 public void ShouldThrow_OnException ( )
224228 {
225229 var mock = new Mock < IStrykerRunner > ( MockBehavior . Strict ) ;
226- mock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) , It . IsAny < ILoggerFactory > ( ) , It . IsAny < IProjectOrchestrator > ( ) ) )
230+ mock . Setup ( x => x . RunMutationTest ( It . IsAny < IStrykerInputs > ( ) ) )
227231 . Throws ( new Exception ( "Initial testrun failed" ) )
228232 . Verifiable ( ) ;
229233
230- var target = new StrykerCli ( mock . Object , null , _loggingInitializerMock . Object , _nugetClientMock . Object ) ;
234+ var target = new StrykerCli ( mock . Object , new ConfigBuilder ( ) , _loggingInitializerMock . Object , _nugetClientMock . Object , Mock . Of < IAnsiConsole > ( ) , Mock . Of < IFileSystem > ( ) ) ;
231235 Should . Throw < Exception > ( ( ) => target . Run ( new string [ ] { } ) ) ;
232236 }
233237
0 commit comments