Esempio n. 1
0
        public void Settings_Copy_EqualsOriginal()
        {
            var settings = new PdfCreatorSettings();

            settings.ConversionProfiles.Add(new ConversionProfile {
                Guid = "p1"
            });
            settings.ConversionProfiles.Add(new ConversionProfile {
                Guid = "p2"
            });

            var clone = settings.Copy();

            Assert.AreEqual(settings.ToString(), clone.ToString(), "string representations do not match");
            Assert.AreEqual(settings.ConversionProfiles[1].Guid, "p2", "A GUID does not match");
            Assert.IsTrue(clone.Equals(settings), "Equals method returns false");
        }
        public void SaveAndLoad_ResultsInExactlyEqualSettings()
        {
            var tempFolder = TempFileHelper.CreateTempFolder("IniSettingsTest");
            var fileName   = Path.Combine(tempFolder, "savedSettings.ini");

            var settings = CreateSettings();
            var invoker  = BuildInvoker(fileName);

            var settingsHelper = Substitute.For <ISettingsProvider>();

            settingsHelper.Settings.Returns(settings);
            settingsHelper.CheckValidSettings(Arg.Any <PdfCreatorSettings>()).Returns(x => x.Arg <PdfCreatorSettings>().ConversionProfiles.Count > 0);

            PdfCreatorSettings loadedSettings = null;

            var settingsMananger = Substitute.For <ISettingsManager>();

            settingsMananger.GetSettingsProvider().Returns(settingsHelper);
            settingsMananger.When(x => x.ApplyAndSaveSettings(Arg.Any <PdfCreatorSettings>())).Do(x => loadedSettings = x.Arg <PdfCreatorSettings>());

            var iniSettingsLoader    = new IniSettingsLoader(settingsMananger, new DataStorageFactory());
            var iniSettingsAssistant = new IniSettingsAssistant(invoker, new TranslationProxy(), settingsMananger, new DataStorageFactory(), iniSettingsLoader);

            iniSettingsAssistant.SaveIniSettings(settings.ApplicationSettings);
            iniSettingsAssistant.LoadIniSettings();

            var titles       = settings.ApplicationSettings.TitleReplacement;
            var loadedTitles = loadedSettings.ApplicationSettings.TitleReplacement;

            for (var i = 0; i < titles.Count; i++)
            {
                Assert.AreEqual(titles[i], loadedTitles[i]);
            }
            Assert.AreEqual(settings.ApplicationSettings.TitleReplacement, loadedSettings.ApplicationSettings.TitleReplacement);
            Assert.AreEqual(settings.ApplicationSettings, loadedSettings.ApplicationSettings);
            Assert.AreEqual(settings.ConversionProfiles, loadedSettings.ConversionProfiles);

            Assert.AreEqual(settings.ToString(), loadedSettings.ToString());

            TempFileHelper.CleanUp();
        }
Esempio n. 3
0
        public void SaveAndLoad_ResultsInExactlyEqualSettings()
        {
            var tempFolder = TempFileHelper.CreateTempFolder("IniSettingsTest");
            var fileName   = Path.Combine(tempFolder, "savedSettings.ini");

            var settings = CreateSettings();

            settings.ApplicationSettings.JobHistory.LastDateFrom = DateTime.Today.AddDays(-1);
            settings.ApplicationSettings.JobHistory.LastDateTo   = DateTime.Today;

            settings.ApplicationSettings.RssFeed.LatestRssUpdate = DateTime.Today;

            var invoker = BuildInvoker(fileName);

            var uacAssistant = Substitute.For <IUacAssistant>();

            var settingsHelper = Substitute.For <ISettingsProvider>();

            settingsHelper.Settings.Returns(settings);
            settingsHelper.CheckValidSettings(Arg.Any <PdfCreatorSettings>()).Returns(delegate(CallInfo x)
            {
                return(x.Arg <PdfCreatorSettings>().ConversionProfiles.Count > 0);
            });

            PdfCreatorSettings loadedSettings = null;

            var settingsMananger = Substitute.For <ISettingsManager>();

            settingsMananger.GetSettingsProvider().Returns(settingsHelper);
            settingsMananger.When(x => x.ApplyAndSaveSettings(Arg.Any <PdfCreatorSettings>())).Do(x => loadedSettings = x.Arg <PdfCreatorSettings>());

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

            var pdfCreatorSettings = new PdfCreatorSettings();

            // pdfCreatorSettings.ConversionProfiles.Add(new ConversionProfile());

            defaultSettingsBuilder.CreateEmptySettings().Returns(pdfCreatorSettings);

            //var migrationStorageFactory = Substitute.For<IMigrationStorageFactory>();
            var migrationStorageFactory = new MigrationStorageFactory((baseStorage, targetVersion) => new CreatorSettingsMigrationStorage(baseStorage, targetVersion));
            //migrationStorageFactory.GetMigrationStorage(Arg.Any<IStorage>(), Arg.Any<int>()).Returns(new IniStorage(""));
            var iniSettingsLoader    = new IniSettingsLoader(new DataStorageFactory(), defaultSettingsBuilder, migrationStorageFactory);
            var iniSettingsAssistant = new CreatorIniSettingsAssistant(invoker, new DesignTimeTranslationUpdater(), settingsMananger, new DataStorageFactory(), iniSettingsLoader, _printerProvider, _uacAssistant);

            iniSettingsAssistant.SaveIniSettings();
            iniSettingsAssistant.LoadIniSettings();

            var titles       = settings.ApplicationSettings.TitleReplacement;
            var loadedTitles = loadedSettings.ApplicationSettings.TitleReplacement;

            for (var i = 0; i < titles.Count; i++)
            {
                Assert.AreEqual(titles[i], loadedTitles[i]);
            }
            Assert.AreEqual(settings.ApplicationSettings.TitleReplacement, loadedSettings.ApplicationSettings.TitleReplacement);
            Assert.AreEqual(settings.ApplicationSettings, loadedSettings.ApplicationSettings);
            Assert.AreEqual(settings.ConversionProfiles, loadedSettings.ConversionProfiles);

            Assert.AreEqual(settings.ToString(), loadedSettings.ToString());

            TempFileHelper.CleanUp();
        }