public void Setup() { LoggingHelper.InitConsoleLogger("Test", LoggingLevel.Off); var startupConditions = Substitute.For <ICheckAllStartupConditions>(); var starter = Substitute.For <IMaybePipedApplicationStarter>(); starter.StartupConditions.Returns(startupConditions); _resolver = Substitute.For <IAppStartResolver>(); // We need some special syntax here to make NSubsitute work here: .Returns(x => new MainWindowStart(...)); _resolver.ResolveAppStart <MainWindowStart>().Returns(x => new MainWindowStart(null, starter, Substitute.For <IPdfArchitectCheck>(), Substitute.For <IMainWindowThreadLauncher>())); _resolver.ResolveAppStart <DragAndDropStart>().Returns(x => new DragAndDropStart(Substitute.For <IFileConversionAssistant>(), starter)); _resolver.ResolveAppStart <PrintFileStart>().Returns(x => new PrintFileStart(Substitute.For <ICheckAllStartupConditions>(), Substitute.For <IPrintFileHelper>(), null, Substitute.For <IStoredParametersManager>())); _resolver.ResolveAppStart <DirectConversionStart>().Returns(x => new DirectConversionStart(null, starter, null, null)); _resolver.ResolveAppStart <NewPrintJobStart>().Returns(x => new NewPrintJobStart(null, null, null, starter, null)); _resolver.ResolveAppStart <InitializeDefaultSettingsStart>().Returns(x => new InitializeDefaultSettingsStart(null, null, null, Substitute.For <IInstallationPathProvider>(), Substitute.For <IDataStorageFactory>())); _resolver.ResolveAppStart <StoreLicenseForAllUsersStart>().Returns(x => new StoreLicenseForAllUsersStart(null, null, new InstallationPathProvider("", "", "", RegistryHive.CurrentUser))); _pathUtil = Substitute.For <IPathUtil>(); var directConversionHelper = Substitute.For <IDirectConversionHelper>(); _appStartFactory = new AppStartFactory(_resolver, _pathUtil, directConversionHelper); // TODO: Add tests of thr Run() method as it is testable now }
public AppStartFactory(IAppStartResolver appStartResolver, IPathUtil pathUtil, IDirectConversionHelper directConversionHelper) { _appStartResolver = appStartResolver; _pathUtil = pathUtil; _directConversionHelper = directConversionHelper; }
public AppStartFactory(IAppStartResolver appStartResolver) { _appStartResolver = appStartResolver; }
private MaybePipedStart DetermineAppStart(CommandLineParser commandLineParser, IAppStartResolver appStartResolver) { // let's see if we have a new JobInfo passed as command line argument var newJob = FindJobInfoFile(commandLineParser); if (newJob != null) { var newPrintJobStart = appStartResolver.ResolveAppStart<NewPrintJobStart>(); newPrintJobStart.NewJobInfoFile = newJob; return newPrintJobStart; } // or a PSFile? newJob = FindPSFile(commandLineParser); if (newJob != null) { var printerName = FindPrinterName(commandLineParser); var newPsJobStart = appStartResolver.ResolveAppStart<NewPsJobStart>(); newPsJobStart.NewDirectConversionFile = newJob; newPsJobStart.PrinterName = printerName; return newPsJobStart; } // or a PdfFile? newJob = FindPdfFile(commandLineParser); if (newJob != null) { var printerName = FindPrinterName(commandLineParser); var newPdfJobStart = appStartResolver.ResolveAppStart<NewPdfJobStart>(); newPdfJobStart.NewDirectConversionFile = newJob; newPdfJobStart.PrinterName = printerName; return newPdfJobStart; } // ...nope!? We have a MainWindowStart return appStartResolver.ResolveAppStart<MainWindowStart>(); }
public AppStartFactory(IAppStartResolver appStartResolver, IParametersManager parametersManager) { _appStartResolver = appStartResolver; _parametersManager = parametersManager; }
private MaybePipedStart DetermineAppStart(CommandLineParser commandLineParser, IAppStartResolver appStartResolver) { // let's see if we have a new JobInfo passed as command line argument var newJob = FindJobInfoFile(commandLineParser); if (newJob != null) { var newPrintJobStart = appStartResolver.ResolveAppStart <NewPrintJobStart>(); newPrintJobStart.NewJobInfoFile = newJob; return(newPrintJobStart); } // or a PSFile? newJob = FindPSFile(commandLineParser); if (newJob != null) { var printerName = FindPrinterName(commandLineParser); var profileParameter = ""; if (string.IsNullOrWhiteSpace(printerName)) { profileParameter = FindProfileParameter(commandLineParser); } var outputFileParameter = FindOutputfileParameter(commandLineParser); var newPsJobStart = appStartResolver.ResolveAppStart <NewPsJobStart>(); newPsJobStart.NewDirectConversionFile = newJob; newPsJobStart.PrinterName = printerName; newPsJobStart.OutputFileParameter = outputFileParameter; newPsJobStart.ProfileParameter = profileParameter; return(newPsJobStart); } // or a PdfFile? newJob = FindPdfFile(commandLineParser); if (newJob != null) { var printerName = FindPrinterName(commandLineParser); var outputFileParameter = FindOutputfileParameter(commandLineParser); var profileParameter = ""; if (string.IsNullOrWhiteSpace(printerName)) { profileParameter = FindProfileParameter(commandLineParser); } var newPdfJobStart = appStartResolver.ResolveAppStart <NewPdfJobStart>(); newPdfJobStart.NewDirectConversionFile = newJob; newPdfJobStart.PrinterName = printerName; newPdfJobStart.OutputFileParameter = outputFileParameter; newPdfJobStart.ProfileParameter = profileParameter; return(newPdfJobStart); } // ...nope!? We have a MainWindowStart return(appStartResolver.ResolveAppStart <MainWindowStart>()); }