Exemplo n.º 1
0
 public void EnumerateWithNoChildren()
 {
     var tree = new Tree<int>(7, EnumeratorOrder.DepthFirstSearch);
     Assert.AreEqual(7, tree.AsEnumerable().First());
     tree.Order = EnumeratorOrder.BreadthFirstSearch;
     Assert.AreEqual(7, tree.AsEnumerable().First());
     var subtree = new Tree<int>(5, EnumeratorOrder.BreadthFirstSearch);
     tree.Add(subtree);
     Assert.AreEqual(5, tree.AsEnumerable().Last());
     tree.Order = EnumeratorOrder.DepthFirstSearch;
     Assert.AreEqual(5, tree.AsEnumerable().Last());
 }
Exemplo n.º 2
0
 public void EnumeratorValidation()
 {
     var implementedInterfaces = typeof(Tree<int>).GetInterfaces();
     Assert.IsTrue(implementedInterfaces.Contains(typeof(IEnumerable<int>)));
     var subtree = new Tree<int>(5, EnumeratorOrder.BreadthFirstSearch) { 1, 2 };
     var tree = new Tree<int>(7, EnumeratorOrder.BreadthFirstSearch) { subtree, 10, 15 };
     Assert.AreEqual(10, tree.First(i => i % 2 == 0));
     var bfs = new int[] { 7, 5, 10, 15, 1, 2 };
     var maybeBfs = tree.AsEnumerable().ToArray();
     Assert.AreEqual(bfs.Length, maybeBfs.Length);
     for (int i = 0; i < bfs.Length; i++) { Assert.AreEqual(bfs[i], maybeBfs[i]); }
     tree.Order = EnumeratorOrder.DepthFirstSearch; Assert.AreEqual(2, tree.First(i => i % 2 == 0));
     var dfs = new int[] { 7, 5, 1, 2, 10, 15 };
     var maybeDfs = tree.AsEnumerable().ToArray();
     Assert.AreEqual(dfs.Length, maybeDfs.Length);
     for (int i = 0; i < dfs.Length; i++)
     {
         Assert.AreEqual(dfs[i], maybeDfs[i]);
     }
 }