mirror of
https://github.com/ICDSystems/ICD.Common.Utils.git
synced 2026-02-17 05:35:07 +00:00
Fixing bug in dictionary extensions, additional tests
This commit is contained in:
@@ -11,31 +11,84 @@ namespace ICD.Common.Utils.Tests.Extensions
|
|||||||
[Test]
|
[Test]
|
||||||
public void RemoveValueTest()
|
public void RemoveValueTest()
|
||||||
{
|
{
|
||||||
Assert.Inconclusive();
|
Dictionary<int, int> dict = new Dictionary<int, int>
|
||||||
|
{
|
||||||
|
{ 1, 10 },
|
||||||
|
{ 2, 20 },
|
||||||
|
{ 3, 30 },
|
||||||
|
{ 4, 40 },
|
||||||
|
};
|
||||||
|
|
||||||
|
Assert.IsTrue(dict.RemoveValue(10));
|
||||||
|
Assert.IsFalse(dict.RemoveValue(0));
|
||||||
|
|
||||||
|
Assert.IsFalse(dict.ContainsKey(1));
|
||||||
|
Assert.AreEqual(3, dict.Count);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void RemoveAllValuesTest()
|
public void RemoveAllValuesTest()
|
||||||
{
|
{
|
||||||
Assert.Inconclusive();
|
Dictionary<int, int> dict = new Dictionary<int, int>
|
||||||
|
{
|
||||||
|
{ 1, 10 },
|
||||||
|
{ 2, 10 },
|
||||||
|
{ 3, 30 },
|
||||||
|
{ 4, 40 },
|
||||||
|
};
|
||||||
|
|
||||||
|
dict.RemoveAllValues(10);
|
||||||
|
|
||||||
|
Assert.IsFalse(dict.ContainsKey(1));
|
||||||
|
Assert.IsFalse(dict.ContainsKey(2));
|
||||||
|
Assert.AreEqual(2, dict.Count);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void GetDefaultTest()
|
public void GetDefaultTest()
|
||||||
{
|
{
|
||||||
Assert.Inconclusive();
|
Dictionary<int, int> dict = new Dictionary<int, int>
|
||||||
|
{
|
||||||
|
{ 1, 10 },
|
||||||
|
{ 2, 10 },
|
||||||
|
{ 3, 30 },
|
||||||
|
{ 4, 40 },
|
||||||
|
};
|
||||||
|
|
||||||
|
Assert.AreEqual(10, dict.GetDefault(1));
|
||||||
|
Assert.AreEqual(0, dict.GetDefault(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void GetDefaultValueTest()
|
public void GetDefaultValueTest()
|
||||||
{
|
{
|
||||||
Assert.Inconclusive();
|
Dictionary<int, int> dict = new Dictionary<int, int>
|
||||||
|
{
|
||||||
|
{ 1, 10 },
|
||||||
|
{ 2, 10 },
|
||||||
|
{ 3, 30 },
|
||||||
|
{ 4, 40 },
|
||||||
|
};
|
||||||
|
|
||||||
|
Assert.AreEqual(10, dict.GetDefault(1, 1000));
|
||||||
|
Assert.AreEqual(1000, dict.GetDefault(0, 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void GetOrAddDefaultTest()
|
public void GetOrAddDefaultTest()
|
||||||
{
|
{
|
||||||
Assert.Inconclusive();
|
Dictionary<int, int> dict = new Dictionary<int, int>
|
||||||
|
{
|
||||||
|
{ 1, 10 },
|
||||||
|
{ 2, 10 },
|
||||||
|
{ 3, 30 },
|
||||||
|
{ 4, 40 },
|
||||||
|
};
|
||||||
|
|
||||||
|
Assert.AreEqual(10, dict.GetOrAddDefault(1, 1000));
|
||||||
|
Assert.AreEqual(1000, dict.GetOrAddDefault(0, 1000));
|
||||||
|
Assert.AreEqual(1000, dict[0]);
|
||||||
|
Assert.AreEqual(5, dict.Count);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|||||||
@@ -21,15 +21,11 @@ namespace ICD.Common.Utils.Extensions
|
|||||||
if (extends == null)
|
if (extends == null)
|
||||||
throw new ArgumentNullException("extends");
|
throw new ArgumentNullException("extends");
|
||||||
|
|
||||||
try
|
TKey key;
|
||||||
{
|
if (!extends.TryGetKey(value, out key))
|
||||||
TKey key = extends.GetKey(value);
|
|
||||||
return extends.Remove(key);
|
|
||||||
}
|
|
||||||
catch (ArgumentOutOfRangeException)
|
|
||||||
{
|
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
|
return extends.Remove(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user