private static int StartApplication(string[] args, Func <Bootstrapper> getBootstrapperFunc) { Application.EnableVisualStyles(); Thread.CurrentThread.Name = "ProgramThread"; InitializeLogging(); Logger.Debug("Starting PDFCreator"); AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; var bootstrapper = getBootstrapperFunc(); var container = new Container(); var windowResolver = new SimpleInjectorWindowResolver(container); var windowRegistry = new WindowRegistry(windowResolver); bootstrapper.ConfigureContainer(container, windowRegistry); bootstrapper.RegisterInteractions(windowRegistry); container.Verify(VerificationOption.VerifyOnly); var resolver = new SimpleInjectorAppStartResolver(container); var appStartFactory = new AppStartFactory(resolver); var appStart = appStartFactory.CreateApplicationStart(args); var app = new App(appStart); app.DispatcherUnhandledException += Application_DispatcherUnhandledException; return(app.Run()); }
public void Called_WithInitializeSettings_ReturnsInitializeJobStart() { string[] args = { string.Format("/InitializeSettings") }; var appStartFactory = new AppStartFactory(new ApplicationSettings()); var appStart = appStartFactory.CreateApplicationStart(args); Assert.IsAssignableFrom <InitializeSettingsStart>(appStart); }
public void Called_WithNonSense_ReturnsMainWindowStartUp() { string[] args = { "NonSense123" }; var appStartFactory = new AppStartFactory(new ApplicationSettings()); var appStart = appStartFactory.CreateApplicationStart(args); Assert.IsAssignableFrom <MainWindowStart>(appStart); }
public void Called_WithPrintFileAndInitializeSettings_ReturnsPrintFileJobStart() { string[] args = { string.Format("/PrintFile=C:\\Test.txt"), "/InitializeSettings" }; var appStartFactory = new AppStartFactory(new ApplicationSettings()); var appStart = appStartFactory.CreateApplicationStart(args); Assert.IsAssignableFrom <PrintFileStart>(appStart); }
public void Called_WithPrintFileAndPrinterParameter_ReturnsPrintFileStartUpWithCorrectPrinter() { string[] args = { "/PrintFile=C:\\Test.txt", "/PrinterName=TestPrinter" }; var appStartFactory = new AppStartFactory(new ApplicationSettings()); var appStart = appStartFactory.CreateApplicationStart(args); Assert.IsAssignableFrom <PrintFileStart>(appStart); Assert.AreEqual("TestPrinter", ((PrintFileStart)appStart).PrinterName); }
private static int StartApplication(string[] args, Func <Bootstrapper> getBootstrapperFunc) { Application.EnableVisualStyles(); Thread.CurrentThread.Name = "ProgramThread"; InitializeLogging(); Logger.Debug("Starting PDFCreator"); AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; var bootstrapper = getBootstrapperFunc(); _container = new Container(); var profileSettingsTabs = bootstrapper.DefineProfileSettingsTabs(); var applicationSettingsTabs = bootstrapper.DefineApplicationSettingsTabs(); var prismBootstrapper = new PrismBootstrapper(profileSettingsTabs, applicationSettingsTabs); prismBootstrapper.ConfigurePrismDependecies(_container); prismBootstrapper.RegisterNavigationViews(_container); bootstrapper.ConfigureContainer(_container); bootstrapper.RegisterInteractions(); ViewRegistry.WindowFactory = new DelegateWindowFactory(content => { var window = _container.GetInstance <InteractionHostWindow>(); window.Content = content; return(window); }); if (Debugger.IsAttached) { _container.Verify(VerificationOption.VerifyOnly); } bootstrapper.RegisterEditiondependentRegions(_container.GetInstance <IRegionManager>()); prismBootstrapper.InitPrismStuff(_container); var resolver = new SimpleInjectorAppStartResolver(_container); var appStartFactory = new AppStartFactory(resolver); var appStart = appStartFactory.CreateApplicationStart(args); var helpCommandHandler = _container.GetInstance <HelpCommandHandler>(); var settingsManager = _container.GetInstance <ISettingsManager>(); var app = new App(appStart, helpCommandHandler, settingsManager); app.DispatcherUnhandledException += Application_DispatcherUnhandledException; return(app.Run()); }
public void Called_WithManagePrintJobs_ReturnsManagePrintJobsStartUp() { string[] args = { "/ManagePrintJobs" }; var appStartFactory = new AppStartFactory(new ApplicationSettings()); var appStart = appStartFactory.CreateApplicationStart(args); MaybePipedStart maybePipedStart = appStart as MaybePipedStart; Assert.IsTrue(maybePipedStart.StartManagePrintJobs); }
private static void InitalizeApplication(string[] args, SimpleInjectorPrismApplication application) { var resolver = new SimpleInjectorAppStartResolver(_container); var appStartFactory = new AppStartFactory(resolver, _container.GetInstance <IPathUtil>(), _container.GetInstance <IDirectConversionHelper>()); var appStart = appStartFactory.CreateApplicationStart(args); var helpCommandHandler = _container.GetInstance <HelpCommandHandler>(); var settingsManager = _container.GetInstance <ISettingsManager>(); application.InitApplication(appStart, helpCommandHandler, settingsManager); application.DispatcherUnhandledException += Application_DispatcherUnhandledException; }
public void Called_WithPdfFileAndInitializeSettings_ReturnsNewPrintJobStart() { string jobFile = @"C:\test.pdf"; string[] args = { string.Format("/PdfFile={0}", jobFile), "/InitializeSettings" }; var appStartFactory = new AppStartFactory(new ApplicationSettings()); var appStart = appStartFactory.CreateApplicationStart(args); Assert.IsAssignableFrom <NewPsJobStart>(appStart); }
public void Called_WithExistingFile_ReturnsDragAndDropStart() { string[] args = { "ExistingFile.xxx" }; var fileStub = Substitute.For <IFile>(); fileStub.Exists("ExistingFile.xxx").Returns(true); var appStartFactory = new AppStartFactory(new ApplicationSettings()); var appStart = appStartFactory.CreateApplicationStart(args, fileStub); Assert.IsAssignableFrom <DragAndDropStart>(appStart); }
public void Called_WithNotExistingFile_ReturnsMainWindowStartUp() { string[] args = { "NotExistingFile.xxx" }; var fileStub = Substitute.For <IFile>(); fileStub.Exists("NotExistingFile.xxx").Returns(false); var appStartFactory = new AppStartFactory(new ApplicationSettings()); var appStart = appStartFactory.CreateApplicationStart(args, fileStub); Assert.IsAssignableFrom <MainWindowStart>(appStart); }
public void Called_WithPdfFile_ReturnsNewPsJobStart() { string jobFile = @"C:\test.pdf"; string[] args = { string.Format("/PdfFile={0}", jobFile) }; var appStartFactory = new AppStartFactory(new ApplicationSettings()); var appStart = appStartFactory.CreateApplicationStart(args); Assert.IsAssignableFrom <NewPsJobStart>(appStart); Assert.AreEqual(jobFile, ((NewPsJobStart)appStart).NewPsFile, "Wrong File in NewPsJobStart."); }
public void Called_WithPsFileAndManagePrintJobs_NewPsJobStartWithManagePrintJobs() { string jobFile = @"C:\test.ps"; string[] args = { string.Format("/PsFile={0}", jobFile), "/ManagePrintJobs" }; var appStartFactory = new AppStartFactory(new ApplicationSettings()); var appStart = appStartFactory.CreateApplicationStart(args); Assert.IsAssignableFrom <NewPsJobStart>(appStart); Assert.IsTrue(((NewPsJobStart)appStart).StartManagePrintJobs); }
public void Called_WithJobInfo_ReturnsNewPrintJobStart() { string jobFile = @"C:\test.inf"; string[] args = { string.Format("/InfoDataFile={0}", jobFile) }; var appStartFactory = new AppStartFactory(new ApplicationSettings()); var appStart = appStartFactory.CreateApplicationStart(args); Assert.IsAssignableFrom <NewPrintJobStart>(appStart); Assert.AreEqual(jobFile, ((NewPrintJobStart)appStart).NewJobInfoFile, "Wrong JobInfoFile."); }
public void Called_WithFilesAndNonsenseParameter_ReturnsMainWindowStart() { string[] args = { "ExistingFile1.xxx", "/NonSenseParameter", "NotExistingFile.xxx", "ExistingFile2.xxx" }; var fileStub = Substitute.For <IFile>(); fileStub.Exists("ExistingFile1.xxx").Returns(true); fileStub.Exists("NotExistingFile.xxx").Returns(false); fileStub.Exists("ExistingFile2.xxx").Returns(true); var appStartFactory = new AppStartFactory(new ApplicationSettings()); var appStart = appStartFactory.CreateApplicationStart(args, fileStub); Assert.IsAssignableFrom <MainWindowStart>(appStart); }
private void RunApplication(string[] commandLineArguments) { CheckSpoolerRunning(); // Must be done before the other checks to initialize the translator SettingsHelper.Init(); // Check translations and Ghostscript. Exit if there is a problem CheckInstallation(); CheckLicensing(); AppStartFactory appStartFactory = new AppStartFactory(); var appStart = appStartFactory.CreateApplicationStart(commandLineArguments); // PrintFile needs to be started before initializing the JonbInfoQueue if (appStart is PrintFileStart) { appStart.Run(); return; } Logger.Debug("Starting PDFCreator"); if (commandLineArguments.Length > 0) { Logger.Info("Command Line parameters: \r\n" + String.Join(" ", commandLineArguments)); } if (!InitializeJobInfoQueue()) { return; } // Start the application appStart.Run(); Logger.Debug("Waiting for all threads to finish"); ThreadManager.Instance.WaitForThreadsAndShutdown(this); }
public void Called_MultipleRootedFiles_ReturnsDragAndDropStart() { string[] args = { @"\RootedFile1.xxx", @"\RootedFile2.xxx", @"\RootedFile3.xxx" }; _pathUtil.IsValidRootedPath(Arg.Any <string>()).Returns(true); _appStartFactory.CreateApplicationStart(args); _resolver.Received().ResolveAppStart <DragAndDropStart>(); }