public void CheckIfThenByWorksCorrectly() { List <string> names = new List <string> { "Ana", "Vlad", "Dorina", "Croc", "Hook", "Alexandru" }; Func <string, string> keySelector = x => x; FirstLetterComparer comparer = new FirstLetterComparer(); var finalOrderedBy = DataStructures.LinqFunctions.OrderBy <string, string>(names, keySelector, comparer); SecondLetterComparer secondComparer = new SecondLetterComparer(); var finalThenBy = DataStructures.LinqFunctions.ThenBy <string, string>(finalOrderedBy, keySelector, secondComparer); List <string> orderedNames = new List <string>(); orderedNames.Add("Alexandru"); orderedNames.Add("Ana"); orderedNames.Add("Croc"); orderedNames.Add("Dorina"); orderedNames.Add("Hook"); orderedNames.Add("Vlad"); bool k = true; int i = 0; foreach (var obj in finalThenBy) { if (!orderedNames[i].Equals(obj)) { k = false; break; } i++; } Assert.True(k); }
public void CheckIfOrderByArgumentWorksCorrectly() { List <string> names = null; Func <string, string> keySelector = x => x; FirstLetterComparer comparer = new FirstLetterComparer(); List <string> orderedNames = new List <string>(); orderedNames.Add("Ana"); orderedNames.Add("Andrei"); orderedNames.Add("Croc"); orderedNames.Add("Dorina"); orderedNames.Add("Hook"); orderedNames.Add("Vlad"); Assert.Throws <ArgumentNullException>(() => names.Equals(DataStructures.LinqFunctions.OrderBy <string, string>(names, keySelector, comparer))); }
public void CheckIfOrderByWorksCorrectly() { List <string> names = new List <string> { "Ana", "Vlad", "Dorina", "Croc", "Hook", "Andrei" }; Func <string, string> keySelector = x => x; List <string> orderedNames = new List <string>(); orderedNames.Add("Ana"); orderedNames.Add("Andrei"); orderedNames.Add("Croc"); orderedNames.Add("Dorina"); orderedNames.Add("Hook"); orderedNames.Add("Vlad"); FirstLetterComparer comparer = new FirstLetterComparer(); var final = DataStructures.LinqFunctions.OrderBy <string, string>(names, keySelector, comparer); DataStructures.OrderedEnumerable <string> finalOrdered = new DataStructures.OrderedEnumerable <string>(final, comparer); Assert.Equal(orderedNames, finalOrdered.UnorderedList()); }