public RunKataAnalysisCommand(IPlayerNotifier playerNotifier, ISettingsManager settingsManager, IAnalysisContainer analysisContainer, IAnalysisRunnerFactory analysisRunnerFactory, IAnalysisResultProcessor analysisResultProcessor, IKataraiApp kataraiApp) { if (playerNotifier == null) { throw new ArgumentNullException("playerNotifier"); } if (settingsManager == null) { throw new ArgumentNullException("settingsManager"); } if (analysisContainer == null) { throw new ArgumentNullException("analysisContainer"); } if (analysisRunnerFactory == null) { throw new ArgumentNullException("analysisRunnerFactory"); } if (kataraiApp == null) { throw new ArgumentNullException("kataraiApp"); } _playerNotifier = playerNotifier; _settingsManager = settingsManager; _analysisRunnerFactory = analysisRunnerFactory; AnalysisContainer = analysisContainer; _analysisResultProcessor = analysisResultProcessor; _kataraiApp = kataraiApp; }
private static RunKataAnalysisCommand CreateRunKataAnalysisCommand(IPlayerNotifier playerNotifier = null, ISettingsManager settingsManager = null, IAnalysisContainer analysisContainer = null, IAnalysisRunnerFactory analysisRunnerFactory = null, IAnalysisResultProcessor analysisResultProcessor = null, KataraiSettings kataraiSettings = null, IKataraiApp kataraiApp = null) { playerNotifier = playerNotifier ?? Substitute.For <IPlayerNotifier>(); kataraiSettings = kataraiSettings ?? new KataraiSettings(); if (settingsManager == null) { settingsManager = Substitute.For <ISettingsManager>(); settingsManager.FetchCurrentSettings().Returns(kataraiSettings); } analysisContainer = analysisContainer ?? Substitute.For <IAnalysisContainer>(); analysisResultProcessor = analysisResultProcessor ?? Substitute.For <IAnalysisResultProcessor>(); analysisRunnerFactory = analysisRunnerFactory ?? Substitute.For <IAnalysisRunnerFactory>(); kataraiApp = kataraiApp ?? Substitute.For <IKataraiApp>(); var runKataAnalysisCommand = new RunKataAnalysisCommand(playerNotifier, settingsManager, analysisContainer, analysisRunnerFactory, analysisResultProcessor, kataraiApp); return(runKataAnalysisCommand); }