public void ConvertToUniqueList_Of_Integer_Of_Non_Unique_ObservableCollection_of_Integer_Ignoring_Order_Returns_Unique_List_In_Original_Order()
        {
            Collection <int> nonUniqueList = new Collection <int>()
            {
                1, 55, 25, 999, -1, 3, 55, -1
            };
            IList <int> newList = ListLibrary.ConvertToUniqueObservableCollection(nonUniqueList, sortList: false);

            List <int> resultList = new List <int> {
                1, 55, 25, 999, -1, 3
            };

            Assert.IsTrue(nonUniqueList.Count > newList.Count);
            Assert.AreEqual(resultList[0], newList[0]);
            Assert.AreEqual(resultList[1], newList[1]);
            Assert.AreEqual(resultList[2], newList[2]);
            Assert.AreEqual(resultList[3], newList[3]);
        }
        public void ConvertToUniqueList_Of_String_Of_Non_Unique_ObservableCollection_of_String_Not_By_Case_Ignoring_Case_Returns_Unique_List()
        {
            Collection <string> nonUniqueList = new Collection <string>()
            {
                "Foo", "Bar", "Moo", "Nar", "bar", "foo", "Fie", "Foo"
            };
            List <string> resultList = new List <string> {
                "Foo", "Bar", "Moo", "Nar"
            };

            ObservableCollection <string> uniqueList = ListLibrary.ConvertToUniqueObservableCollection(nonUniqueList, caseSensitive: false);

            Assert.IsTrue(resultList.Count < nonUniqueList.Count);
            Assert.AreEqual(resultList[0], uniqueList[0]);
            Assert.AreEqual(resultList[1], uniqueList[1]);
            Assert.AreEqual(resultList[2], uniqueList[2]);
            Assert.AreEqual(resultList[3], uniqueList[3]);
        }