// Done! private static void MovesHelper(string parent, ICollection <string> childreen) { EightPuzzle pParent = EightPuzzleFactory.Create(parent); IList <EightPuzzle> pChildreen = pParent.Children(); Assert.AreEqual(childreen.Count, pChildreen.Count); var q1 = from x in pChildreen orderby x.ToString() select x; var q2 = (from x in childreen orderby x select x).ToList(); int i = 0; foreach (var item in q1) { Assert.AreEqual(q2[i++], item.ToString()); } }