// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; using System.Collections.Generic; using NuGet; namespace ICSharpCode.PackageManagement.Design { public class FakeSettings : ISettings { public List> PackageSources = new List>(); public List> ActivePackageSourceSettings = new List>(); public Dictionary>> Sections = new Dictionary>>(); public FakeSettings() { Sections.Add(RegisteredPackageSourceSettings.PackageSourcesSectionName, PackageSources); Sections.Add(RegisteredPackageSourceSettings.ActivePackageSourceSectionName, ActivePackageSourceSettings); } public string GetValue(string section, string key) { throw new NotImplementedException(); } public IList> GetValues(string section) { return Sections[section]; } public void AddFakePackageSource(PackageSource packageSource) { var valuePair = new KeyValuePair(packageSource.Name, packageSource.Source); PackageSources.Add(valuePair); } public Dictionary> SavedSectionValues = new Dictionary>(); public void SetValue(string section, string key, string value) { SavedSectionValues.Remove(section); SavedSectionValues.Add(section, new KeyValuePair(key, value)); } public KeyValuePair GetValuePassedToSetValueForActivePackageSourceSection() { return SavedSectionValues[RegisteredPackageSourceSettings.ActivePackageSourceSectionName]; } public void SetValues(string section, IList> values) { SavedSectionValueLists.Remove(section); SavedSectionValueLists.Add(section, values); } public Dictionary>> SavedSectionValueLists = new Dictionary>>(); public IList> GetValuesPassedToSetValuesForPackageSourcesSection() { return SavedSectionValueLists[RegisteredPackageSourceSettings.PackageSourcesSectionName]; } public bool DeleteValue(string section, string key) { throw new NotImplementedException(); } public List SectionsDeleted = new List(); public bool DeleteSection(string section) { SectionsDeleted.Add(section); return true; } public bool IsPackageSourcesSectionDeleted { get { return SectionsDeleted.Contains(RegisteredPackageSourceSettings.PackageSourcesSectionName); } } public bool IsActivePackageSourceSectionDeleted { get { return SectionsDeleted.Contains(RegisteredPackageSourceSettings.ActivePackageSourceSectionName); } } public void SetFakeActivePackageSource(PackageSource packageSource) { ActivePackageSourceSettings.Clear(); var valuePair = new KeyValuePair(packageSource.Name, packageSource.Source); ActivePackageSourceSettings.Add(valuePair); } public void MakeActivePackageSourceSectionNull() { Sections.Remove(RegisteredPackageSourceSettings.ActivePackageSourceSectionName); Sections.Add(RegisteredPackageSourceSettings.ActivePackageSourceSectionName, null); } public void MakePackageSourceSectionsNull() { Sections.Remove(RegisteredPackageSourceSettings.PackageSourcesSectionName); Sections.Add(RegisteredPackageSourceSettings.PackageSourcesSectionName, null); } public void AddFakePackageSources(IEnumerable packageSources) { foreach (PackageSource packageSource in packageSources) { AddFakePackageSource(packageSource); } } public IList> GetNestedValues(string section, string key) { throw new NotImplementedException(); } public void SetNestedValues(string section, string key, IList> values) { throw new NotImplementedException(); } } }