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(); }
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(); }