public static bool AreEqual <T, U> (IList <T> list1, IList <U> list2) { bool equal = true; if (typeof(T) != typeof(U)) { equal = false; } else if (!EqualityChecker.AreEqual(list1, list2)) { if (list1.Count != list2.Count) { equal = false; } else { int length = list1.Count; for (int i = 0; i < length; i++) { if (!EqualityChecker.AreEqual(list1[i], list2[i])) { equal = false; break; } } } } return(equal); }
public static bool AreEqual <T, U, V, W>(IDictionary <T, U> dict1, IDictionary <V, W> dict2) where V : class { bool equal = true; if (typeof(T) != typeof(V) || typeof(U) != typeof(W)) { equal = false; } else if (!EqualityChecker.AreEqual(dict1, dict2)) { if (dict1.Count != dict2.Count) { equal = false; } else { foreach (KeyValuePair <T, U> pair in dict1) { V key = pair.Key as V; if (!dict2.ContainsKey(key) || !EqualityChecker.AreEqual(pair.Value, dict2[key])) { equal = false; break; } } } } return(equal); }
public void CalculateMostFrequentNWords_WithValidText_WithValidNValue() { IList <IWordFrequency> expected = new List <IWordFrequency>() { new WordFrequency("one", 3), new WordFrequency("three", 3), new WordFrequency("two", 3), new WordFrequency("five", 1) }; List <IWordFrequency> expectedToList = expected as List <IWordFrequency>; IList <IWordFrequency> actual = (analyzer.CalculateMostFrequentNWords("one, two, three, two, three, two, three, one, one, four, five", 4)); List <IWordFrequency> actualToList = actual as List <IWordFrequency>; Assert.IsTrue(EqualityChecker.AreEqual(expectedToList, actualToList)); }