コード例 #1
0
        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);
                }
            }
        }