public void TestStoreRestore([ValueSource(nameof(PluginRepositories))] IReadOnlyList <string> repositories) { _settings.ProxyServer = "http://eumex.ip"; _settings.ProxyUsername = "******"; _settings.ProxyPassword = "******"; _settings.AutomaticallyInstallUpdates = true; _settings.CheckForUpdates = true; _settings.PluginRepositories = repositories; using (var stream = new MemoryStream()) { using (var writer = XmlWriter.Create(stream)) { writer.WriteStartElement("xml"); writer.WriteStartElement("autoupdate"); _settings.Save(writer); writer.WriteEndElement(); writer.WriteEndElement(); } stream.Position = 0; using (var reader = XmlReader.Create(stream)) { var settings = new AutoUpdateSettings(); reader.Read(); reader.Read(); reader.Read(); settings.Restore(reader); settings.CheckForUpdates.Should().BeTrue(); settings.AutomaticallyInstallUpdates.Should().BeTrue(); settings.ProxyServer.Should().Be("http://eumex.ip"); settings.ProxyUsername.Should().Be("foo"); settings.ProxyPassword.Should().Be("bar"); settings.PluginRepositories.Should().Equal(repositories); } } }