public void ConfigurationOfContainer_WithInteractions_CanBeValidatedWithoutWarnings(Bootstrapper bootstrapper)
        {
            ViewRegistry.ClearInteractionMappings();

            // TODO this needs to be tested differently, maybe retrieve all registrations from ViewRegistry?
            //var windowResolver = new TestWindowResolver(container);
            //var windowRegistry = new WindowRegistry(windowResolver);

            var container = BuildPrismContainer(bootstrapper);

            LoggingHelper.InitConsoleLogger("PDFCreator-Test", LoggingLevel.Off);
            var settingsHelper = container.GetInstance <ISettingsManager>();

            settingsHelper.LoadAllSettings();

            container.Verify(VerificationOption.VerifyOnly);

            var result = Analyzer.Analyze(container)
                         .Where(x => x.Severity > DiagnosticSeverity.Information)
                         .Where(x => (x.DiagnosticType != DiagnosticType.LifestyleMismatch) || !_lifestyleMismatchAcceptableClasses.Contains(x.ServiceType))
                         .ToList();

            var message = "";

            foreach (var diagnosticResult in result)
            {
                message += $"{diagnosticResult.Severity} | {diagnosticResult.DiagnosticType}: {diagnosticResult.Description} {Environment.NewLine}";
            }

            Assert.IsFalse(result.Any(), message);
        }
Exemple #2
0
        public void SetUp()
        {
            var builder      = new ComDependencyBuilder();
            var dependencies = builder.ComDependencies;

            LoggingHelper.InitConsoleLogger("PDFCreatorTest", LoggingLevel.Off);

            var installationPathProvider = new InstallationPathProvider(@"Software\pdfforge\PDFCreator\Settings", @"Software\pdfforge\PDFCreator", "{00000000-0000-0000-0000-000000000000}");

            var settingsProvider = new DefaultSettingsProvider();

            var translationHelper = new TranslationHelper(new TranslationProxy(), settingsProvider, new AssemblyHelper());

            translationHelper.InitTranslator("None");

            var settingsLoader = new SettingsLoader(translationHelper, Substitute.For <ISettingsMover>(), installationPathProvider, Substitute.For <ILanguageDetector>(), Substitute.For <IPrinterHelper>(), Substitute.For <ITranslator>());

            var settingsManager = new SettingsManager(settingsProvider, settingsLoader);

            settingsManager.LoadAllSettings();

            var folderProvider = new FolderProvider(new PrinterPortReader(new RegistryWrap(), new PathWrapSafe()), new PathWrap());

            _queue = new Queue();
            _queue.Initialize();

            _testPageHelper = new TestPageHelper(new AssemblyHelper(), new OsHelper(), folderProvider, dependencies.QueueAdapter.JobInfoQueue, new JobInfoManager(new LocalTitleReplacerProvider(new List <TitleReplacement>())));
        }
Exemple #3
0
        public void SetUp()
        {
            var dependencies = ComTestHelper.ModifyAndBuildComDependencies();

            LoggingHelper.InitConsoleLogger("PDFCreatorTest", LoggingLevel.Off);

            _queue = new Queue();
            _queue.Initialize();

            var assembly       = GetType().Assembly;
            var assemblyHelper = new AssemblyHelper(assembly);

            var translationHelper = new TranslationHelper(new DefaultSettingsProvider(), assemblyHelper, new TranslationFactory(), null);

            translationHelper.InitTranslator("None");

            var folderProvider = new FolderProvider(new PrinterPortReader(new RegistryWrap(), new PathWrapSafe()), new PathWrap());

            _testPageHelper = new TestPageHelper(new VersionHelper(assembly), new OsHelper(), folderProvider,
                                                 dependencies.QueueAdapter.JobInfoQueue, new JobInfoManager(new LocalTitleReplacerProvider(new List <TitleReplacement>())), new ApplicationNameProvider("FREE"));

            CreateTestPages(1);

            _printJob     = _queue.NextJob;
            _printJobInfo = _printJob.PrintJobInfo;
        }
        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
        }
Exemple #5
0
        public void SetUp()
        {
            Assembly a      = Assembly.GetExecutingAssembly();
            string   appDir = Path.GetDirectoryName(a.CodeBase.Replace(@"file:///", ""));

            if (appDir == null)
            {
                throw new InvalidDataException("The app dir may never be null");
            }

            _languagePath = FindTranslationFolder();

            Assert.True(Directory.Exists(_languagePath), "Could not find language path: " + _languagePath);

            _translations = Translator.FindTranslations(_languagePath);

            _settings = new PdfCreatorSettings(new IniStorage());
            _settings.LoadData("settings.ini");

            IAssemblyHelper assemblyHelper = Substitute.For <IAssemblyHelper>();

            assemblyHelper.GetCurrentAssemblyDirectory().Returns(Path.Combine(_languagePath, ".."));

            LoggingHelper.InitConsoleLogger("PDFCreator-TranslationTest", LoggingLevel.Error);
            TranslationHelper.Instance.InitTranslator(_settings.ApplicationSettings.Language, assemblyHelper);
        }
Exemple #6
0
        public void SetUp()
        {
            var dependencies = ComTestHelper.ModifyAndBuildComDependencies();

            LoggingHelper.InitConsoleLogger("PDFCreatorTest", LoggingLevel.Off);

            var installationPathProvider = new InstallationPathProvider(@"Software\pdfforge\PDFCreator\Settings", @"Software\pdfforge\PDFCreator", "{00000000-0000-0000-0000-000000000000}");

            var settingsProvider = new DefaultSettingsProvider();

            var translationHelper = new TranslationHelper(settingsProvider, new AssemblyHelper(GetType().Assembly), new TranslationFactory(), null);

            translationHelper.InitTranslator("None");

            var settingsLoader = new SettingsLoader(translationHelper, Substitute.For <ISettingsMover>(), installationPathProvider, Substitute.For <IPrinterHelper>());

            var settingsManager = new SettingsManager(settingsProvider, settingsLoader, installationPathProvider, new VersionHelper(Assembly.GetExecutingAssembly()), new List <IFirstTimeCommand>());

            settingsManager.LoadAllSettings();

            var folderProvider = new FolderProvider(new PrinterPortReader(new RegistryWrap(), new PathWrapSafe()), new PathWrap());

            _queue = new Queue();
            _queue.Initialize();

            _testPageHelper = new TestPageHelper(new VersionHelper(GetType().Assembly), new OsHelper(), folderProvider,
                                                 dependencies.QueueAdapter.JobInfoQueue, new JobInfoManager(new LocalTitleReplacerProvider(new List <TitleReplacement>())), new ApplicationNameProvider("FREE"));
        }
Exemple #7
0
        public void AllWindows_WhenTranslatedWithAllLanguages_DoNotThrowExceptions(string translation)
        {
            var lang = GetLanguage(translation);

            var translationData = Data.CreateDataStorage();
            var iniStorage      = new IniStorage();

            iniStorage.SetData(translationData);
            var translationFile = Path.Combine(_languagePath, lang.FileName);

            iniStorage.ReadData(translationFile, true);

            var exceptionTranslator = new ExceptionTranslator(_translationProxy);

            _translationProxy.Translator = new BasicTranslator(lang.CommonName, translationData);
            _translationProxy.LoadOldSectionNames(translationFile);

            // Do some work to include all resources as we do not have our WPF app context here
            EnsureApplicationResources();

            var container = BuildContainer();

            LoggingHelper.InitConsoleLogger("TranslationTest", LoggingLevel.Off);
            var settingsProvider = container.GetInstance <ISettingsProvider>();

            settingsProvider.Settings.Returns(new PdfCreatorSettings(new IniStorage()));
            settingsProvider.GpoSettings.Returns(new GpoSettingsDefaults());

            // Everything with the type "Window" is tested automatically. If special parameters are needed for a type, they can be declared here

            TestWindows(_translationProxy, lang, container);
            TestActionControls(_translationProxy, lang, container);

            Assert.IsEmpty(exceptionTranslator.TranslationErrors, "There were errors while translating the forms");
        }
Exemple #8
0
        public void SetUp()
        {
            LoggingHelper.InitConsoleLogger("PDFCreatorTest", LoggingLevel.Off);

            _queue = new Queue();
            _queue.Initialize();

            _pdfCreatorObj = new PdfCreatorObj();

            var bootstrapper = new PDFCreatorBootstrapper();
            var container    = new Container();

            bootstrapper.RegisterMainApplication(container);
            _th = container.GetInstance <TestHelper>();
        }
Exemple #9
0
        public void SetUp()
        {
            var builder      = new ComDependencyBuilder();
            var dependencies = builder.ComDependencies;

            LoggingHelper.InitConsoleLogger("PDFCreatorTest", LoggingLevel.Off);

            _queue = new Queue();
            _queue.Initialize();

            var translationHelper = new TranslationHelper(new TranslationProxy(), new DefaultSettingsProvider(), new AssemblyHelper());

            translationHelper.InitTranslator("None");

            var folderProvider = new FolderProvider(new PrinterPortReader(new RegistryWrap(), new PathWrapSafe()), new PathWrap());

            _testPageHelper = new TestPageHelper(new AssemblyHelper(), new OsHelper(), folderProvider, dependencies.QueueAdapter.JobInfoQueue, new JobInfoManager(new LocalTitleReplacerProvider(new List <TitleReplacement>())));
        }
Exemple #10
0
        public void SetUp()
        {
            var dependencies = ComTestHelper.ModifyAndBuildComDependencies();

            LoggingHelper.InitConsoleLogger("PDFCreatorTest", LoggingLevel.Off);

            var installationPathProvider = new InstallationPathProvider(@"Software\pdfforge\PDFCreator\Settings", @"Software\pdfforge\PDFCreator", "{00000000-0000-0000-0000-000000000000}", RegistryHive.CurrentUser);

            var settingsProvider = new DefaultSettingsProvider();

            var translationHelper = new TranslationHelper(settingsProvider, new AssemblyHelper(GetType().Assembly), new TranslationFactory(), null);

            translationHelper.InitTranslator("None");

            var defaultSettingsBuilder = Substitute.For <IDefaultSettingsBuilder>();

            defaultSettingsBuilder.
            CreateEmptySettings().
            Returns(new PdfCreatorSettings());

            defaultSettingsBuilder.
            CreateDefaultSettings(Arg.Any <string>(), Arg.Any <string>()).
            Returns(new PdfCreatorSettings());

            defaultSettingsBuilder.
            CreateDefaultProfile().
            Returns(new ConversionProfile());

            var migrationStorageFactory = Substitute.For <IMigrationStorageFactory>();
            var settingsLoader          = new SettingsLoader(translationHelper, Substitute.For <ISettingsMover>(), installationPathProvider, Substitute.For <IPrinterHelper>(), new EditionHelper(false, false), defaultSettingsBuilder, migrationStorageFactory);

            var settingsManager = new SettingsManager(settingsProvider, settingsLoader, installationPathProvider, new VersionHelper(Assembly.GetExecutingAssembly()), new List <IFirstTimeCommand>());

            settingsManager.LoadAllSettings();

            var folderProvider = new FolderProvider(new PrinterPortReader(new RegistryWrap()), new PathWrap());

            _queue = new Queue();
            _queue.Initialize();

            var testPageCreator = new TestPageCreator(new ApplicationNameProvider("FREE"), new VersionHelper(new Version(1, 0, 0, 0)), new OsHelper());

            _testPageHelper = new TestPageHelper(folderProvider, dependencies.QueueAdapter.JobInfoQueue, new JobInfoManager(new LocalTitleReplacerProvider(new List <TitleReplacement>()), null), testPageCreator);
        }
Exemple #11
0
        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 <IFileConversionHandler>(), starter));
            _resolver.ResolveAppStart <PrintFileStart>().Returns(x => new PrintFileStart(Substitute.For <ICheckAllStartupConditions>(), Substitute.For <IPrintFileHelper>(), null));
            _resolver.ResolveAppStart <NewPsJobStart>().Returns(x => new NewPsJobStart(null, null, starter, null, null));
            _resolver.ResolveAppStart <NewPdfJobStart>().Returns(x => new NewPdfJobStart(null, 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>()));

            // TODO: Add tests of thr Run() method as it is testable now
        }
Exemple #12
0
        public void SetUp()
        {
            _translationTestHelper = new TranslationTestHelper();

            var a      = Assembly.GetExecutingAssembly();
            var appDir = Path.GetDirectoryName(a.CodeBase.Replace(@"file:///", ""));

            if (appDir == null)
            {
                throw new InvalidDataException("The app dir may never be null");
            }

            _languagePath = _translationTestHelper.FindTranslationFolder();

            Assert.True(Directory.Exists(_languagePath), "Could not find language path: " + _languagePath);

            var languageLoader = new LanguageLoader(_languagePath);

            _translations = languageLoader.GetAvailableLanguages().ToList();

            _settings = new PdfCreatorSettings(new IniStorage());
            _settings.LoadData("settings.ini");

            var assemblyHelper = Substitute.For <IAssemblyHelper>();

            assemblyHelper.GetPdfforgeAssemblyDirectory().Returns(Path.Combine(_languagePath, ".."));

            LoggingHelper.InitConsoleLogger("PDFCreator-TranslationTest", LoggingLevel.Error);
            var settingsProvider = new DefaultSettingsProvider();

            settingsProvider.UpdateSettings(_settings);

            _translationProxy = new MappedTranslationProxy(new TranslationProxy(), _languagePath + "\\_sectionMappings.txt");

            _translationHelper = new TranslationHelper(_translationProxy, settingsProvider, assemblyHelper);
            _translationHelper.InitTranslator(_settings.ApplicationSettings.Language);

            // TODO extact stuff into separate classes, so this test only contains the actual test code
        }
 private void EnableLogging()
 {
     LoggingHelper.InitConsoleLogger("PDFCreator-Test", LoggingLevel.Off);
 }
 public DesignTimeDebugTabViewModel()
     : base(new DesignTimeSettingsManager(), null, null, null, null, null, null, new DebugTabTranslation())
 {
     LoggingHelper.InitConsoleLogger("DesignTime", LoggingLevel.Off);
 }