Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
<packageSource key="nuget">
<package pattern="*" />
</packageSource>
<packageSource key="myget">
<!--<packageSource key="myget">
<package pattern="NUnit.Cake.Recipe" />
</packageSource>
</packageSource>-->
<!-- Packages built by this project -->
<packageSource key="project">
<package pattern="NUnit.Engine.Api" />
Expand Down
10 changes: 10 additions & 0 deletions src/NUnit.Engine.Api.Tests/PackageSettingsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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()
{
Expand Down
35 changes: 27 additions & 8 deletions src/NUnit.Engine.Api/PackageSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,15 @@ public T GetValueOrDefault<T>(SettingDefinition<T> definition)
/// Adds a setting to the list directly.
/// </summary>
/// <param name="setting">A PackageSetting instance</param>
internal void Add(PackageSetting setting) => _settings.Add(setting.Name, setting);
public void Add(PackageSetting setting) => _settings.Add(setting.Name, setting);

/// <summary>
/// Creates and adds a setting to the list, specified by the name and a string value.
/// The string value is converted to a typed PackageSetting if the name specifies a known SettingDefinition.
/// </summary>
/// <param name="name">The name of the setting.</param>
/// <param name="value">The corresponding value to set.</param>
internal void Add(string name, string value)
public void Add(string name, string value)
{
var definition = SettingDefinitions.Lookup(name);

Expand All @@ -90,7 +90,7 @@ internal void Add(string name, string value)
/// </summary>
/// <param name="name">The name of the setting.</param>
/// <param name="value">The corresponding value to set.</param>
internal void Add(string name, bool value)
public void Add(string name, bool value)
{
var definition = SettingDefinitions.Lookup(name);

Expand All @@ -106,7 +106,7 @@ internal void Add(string name, bool value)
/// </summary>
/// <param name="name">The name of the setting.</param>
/// <param name="value">The corresponding value to set.</param>
internal void Add(string name, int value)
public void Add(string name, int value)
{
var definition = SettingDefinitions.Lookup(name);

Expand All @@ -120,14 +120,14 @@ internal void Add(string name, int value)
/// <summary>
/// Adds or replaces a setting to the list.
/// </summary>
internal void Set(PackageSetting setting) => _settings[setting.Name] = setting;
public void Set(PackageSetting setting) => _settings[setting.Name] = setting;

/// <summary>
/// Adds or replaces a setting to the list.
/// </summary>
/// <param name="name">The name of the setting.</param>
/// <param name="value">The corresponding value to set.</param>
internal void Set<T>(string name, T value)
public void Set<T>(string name, T value)
where T : notnull
{
Set(new PackageSetting<T>(name, value));
Expand All @@ -137,7 +137,26 @@ internal void Set<T>(string name, T value)
/// Remove a setting
/// </summary>
/// <param name="setting">The setting to remove</param>
internal void Remove(SettingDefinition setting)
public void Remove<T>(SettingDefinition<T> setting)
where T : notnull
{
_settings.Remove(setting.Name);
}

/// <summary>
/// Remove a setting
/// </summary>
/// <param name="setting">The setting to remove</param>
public void Remove(SettingDefinition setting)
{
_settings.Remove(setting.Name);
}

/// <summary>
/// Remove a setting
/// </summary>
/// <param name="setting">The setting to remove</param>
public void Remove(PackageSetting setting)
{
_settings.Remove(setting.Name);
}
Expand All @@ -146,7 +165,7 @@ internal void Remove(SettingDefinition setting)
/// Remove a setting
/// </summary>
/// <param name="settingName">The name of the setting to remove</param>
internal void Remove(string settingName)
public void Remove(string settingName)
{
_settings.Remove(settingName);
}
Expand Down