From d880e6aff2c996ba5d1173d8bb909f675c57824b Mon Sep 17 00:00:00 2001 From: Charlie Poole Date: Fri, 16 Oct 2026 17:06:32 -0700 Subject: [PATCH] Additional PackageSetting API changes --- NuGet.config | 4 +-- .../PackageSettingsTests.cs | 10 ++++++ src/NUnit.Engine.Api/PackageSettings.cs | 35 ++++++++++++++----- 3 files changed, 39 insertions(+), 10 deletions(-) diff --git a/NuGet.config b/NuGet.config index 9c85eca..16f7905 100644 --- a/NuGet.config +++ b/NuGet.config @@ -10,9 +10,9 @@ - + diff --git a/src/NUnit.Engine.Api.Tests/PackageSettingsTests.cs b/src/NUnit.Engine.Api.Tests/PackageSettingsTests.cs index 0e16f15..8a337a3 100644 --- a/src/NUnit.Engine.Api.Tests/PackageSettingsTests.cs +++ b/src/NUnit.Engine.Api.Tests/PackageSettingsTests.cs @@ -132,6 +132,16 @@ public void CanRemoveSettingUsingSettingDefinition() Assert.That(_settings.HasSetting("MaxAgents"), Is.False); } + [Test] + public void CanRemoveSettingUsingPackageSetting() + { + var setting = SettingDefinitions.MaxAgents.WithValue(20); + _settings.Add(setting); + Assert.That(_settings.HasSetting("MaxAgents")); + _settings.Remove(setting); + Assert.That(_settings.HasSetting("MaxAgents"), Is.False); + } + [Test] public void CanRemoveSettingUsingName() { diff --git a/src/NUnit.Engine.Api/PackageSettings.cs b/src/NUnit.Engine.Api/PackageSettings.cs index 48bb2b1..9770492 100644 --- a/src/NUnit.Engine.Api/PackageSettings.cs +++ b/src/NUnit.Engine.Api/PackageSettings.cs @@ -65,7 +65,7 @@ public T GetValueOrDefault(SettingDefinition definition) /// Adds a setting to the list directly. /// /// A PackageSetting instance - internal void Add(PackageSetting setting) => _settings.Add(setting.Name, setting); + public void Add(PackageSetting setting) => _settings.Add(setting.Name, setting); /// /// Creates and adds a setting to the list, specified by the name and a string value. @@ -73,7 +73,7 @@ public T GetValueOrDefault(SettingDefinition definition) /// /// The name of the setting. /// The corresponding value to set. - internal void Add(string name, string value) + public void Add(string name, string value) { var definition = SettingDefinitions.Lookup(name); @@ -90,7 +90,7 @@ internal void Add(string name, string value) /// /// The name of the setting. /// The corresponding value to set. - internal void Add(string name, bool value) + public void Add(string name, bool value) { var definition = SettingDefinitions.Lookup(name); @@ -106,7 +106,7 @@ internal void Add(string name, bool value) /// /// The name of the setting. /// The corresponding value to set. - internal void Add(string name, int value) + public void Add(string name, int value) { var definition = SettingDefinitions.Lookup(name); @@ -120,14 +120,14 @@ internal void Add(string name, int value) /// /// Adds or replaces a setting to the list. /// - internal void Set(PackageSetting setting) => _settings[setting.Name] = setting; + public void Set(PackageSetting setting) => _settings[setting.Name] = setting; /// /// Adds or replaces a setting to the list. /// /// The name of the setting. /// The corresponding value to set. - internal void Set(string name, T value) + public void Set(string name, T value) where T : notnull { Set(new PackageSetting(name, value)); @@ -137,7 +137,26 @@ internal void Set(string name, T value) /// Remove a setting /// /// The setting to remove - internal void Remove(SettingDefinition setting) + public void Remove(SettingDefinition setting) + where T : notnull + { + _settings.Remove(setting.Name); + } + + /// + /// Remove a setting + /// + /// The setting to remove + public void Remove(SettingDefinition setting) + { + _settings.Remove(setting.Name); + } + + /// + /// Remove a setting + /// + /// The setting to remove + public void Remove(PackageSetting setting) { _settings.Remove(setting.Name); } @@ -146,7 +165,7 @@ internal void Remove(SettingDefinition setting) /// Remove a setting /// /// The name of the setting to remove - internal void Remove(string settingName) + public void Remove(string settingName) { _settings.Remove(settingName); }