public void SaveConfigTest() { var ver = new Version(Application.ProductVersion); var dbFile = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\cherrytomato\\database.sqlite"; using (var cs = new CherryService()) { var csw = new StringWriter(); cs.PluginRepository.RegisterPlugin(new VersionChecker()); cs.PluginRepository.RegisterPlugin(new FakeTimeProvider()); cs.PluginRepository.RegisterPlugin(new PomodoroSensor()); cs.PluginRepository.RegisterPlugin(new DatabaseController()); cs.PluginRepository.RegisterPlugin(new FirstRunSensor()); cs.InitializeCherryServiceEventsAndCommands(); cs.PluginRepository.TieEvents(); cs.SaveConfiguration(csw); var expected = "<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n" + "<cherryTomato>\r\n" + " <config>\r\n" + " <plugins />\r\n" + " </config>\r\n" + " <newestKnownVersion major=\"" + ver.Major + "\" minor=\"" + ver.Minor + "\" />\r\n" + " <databaseFile path=\"" + dbFile + "\" />\r\n" + " <hasRun />\r\n" + "</cherryTomato>"; var actual = csw.GetStringBuilder().ToString(); Assert.That(actual, Is.EqualTo(expected)); } }