diff --git a/ICD.Common.Utils.Tests/Extensions/DictionaryExtensionsTest.cs b/ICD.Common.Utils.Tests/Extensions/DictionaryExtensionsTest.cs index 9745299..22f18ff 100644 --- a/ICD.Common.Utils.Tests/Extensions/DictionaryExtensionsTest.cs +++ b/ICD.Common.Utils.Tests/Extensions/DictionaryExtensionsTest.cs @@ -186,8 +186,32 @@ namespace ICD.Common.Utils.Tests.Extensions [Test] public void DictionaryEqualComparerTest() { - Assert.Inconclusive(); - } + Dictionary a = new Dictionary + { + { 1, 10 }, + { 2, 20 }, + { 3, 30 }, + }; + + Dictionary b = new Dictionary + { + { 1, 10 }, + { 2, 20 }, + { 3, 30 }, + }; + + Dictionary c = new Dictionary + { + { 1, 10 }, + { 2, 20 } + }; + + Assert.IsTrue(a.DictionaryEqual(b)); + Assert.IsTrue(b.DictionaryEqual(a)); + + Assert.IsFalse(a.DictionaryEqual(c)); + Assert.IsFalse(c.DictionaryEqual(a)); + } [Test] public void DictionaryEqualFuncComparerTest() @@ -196,15 +220,39 @@ namespace ICD.Common.Utils.Tests.Extensions } [Test] - public void OrderByKey() + public void OrderByKeyTest() { - Assert.Inconclusive(); - } + Dictionary a = new Dictionary + { + { 1, 10 }, + { 2, 20 }, + { 3, 30 }, + }; + + KeyValuePair[] ordered = a.OrderByKey().ToArray(); + + Assert.AreEqual(3, ordered.Length); + Assert.AreEqual(10, ordered[0].Value); + Assert.AreEqual(20, ordered[1].Value); + Assert.AreEqual(30, ordered[2].Value); + } [Test] public void OrderValuesByKeyTest() { - Assert.Inconclusive(); - } + Dictionary a = new Dictionary + { + { 1, 10 }, + { 2, 20 }, + { 3, 30 }, + }; + + int[] ordered = a.OrderValuesByKey().ToArray(); + + Assert.AreEqual(3, ordered.Length); + Assert.AreEqual(10, ordered[0]); + Assert.AreEqual(20, ordered[1]); + Assert.AreEqual(30, ordered[2]); + } } } diff --git a/ICD.Common.Utils/Extensions/DictionaryExtensions.cs b/ICD.Common.Utils/Extensions/DictionaryExtensions.cs index 6a54fe3..85fcb86 100644 --- a/ICD.Common.Utils/Extensions/DictionaryExtensions.cs +++ b/ICD.Common.Utils/Extensions/DictionaryExtensions.cs @@ -371,7 +371,7 @@ namespace ICD.Common.Utils.Extensions if (extends == null) throw new ArgumentNullException("extends"); - return extends.OrderBy(kvp => kvp.Key).Select(kvp => kvp.Value); + return extends.OrderByKey().Select(kvp => kvp.Value); } } }