      "    pass\n",
      "\n",
      "def pre_order_traversal(node, visit_func):\n",
      "    # TODO: Implement me\n",
      "\n",
      "def post_order_traversal(node, visit_func):\n",
      "    # TODO: Implement me\n",
      "    pass"
     ]
    },
 
</s> remove     "    # TODO: Implement me"
 </s> add     "    # TODO: Implement me\n",
    "    pass" </s> remove     "        with captured_output() as (out, err):\n",
    "            post_order_traversal(node, sys.stdout.write)\n",
    "            assert_equal(out.getvalue().strip(), '54321')\n",
 </s> add     "        post_order_traversal(node, self.results.add_result)\n",
    "        assert_equal(str(self.results), \"[5, 4, 3, 2, 1]\")\n", </s> remove     "        with captured_output() as (out, err):\n",
    "            post_order_traversal(node, sys.stdout.write)\n",
    "            assert_equal(out.getvalue().strip(), '54321')\n",
 </s> add     "        post_order_traversal(node, self.results.add_result)\n",
    "        assert_equal(str(self.results), \"[5, 4, 3, 2, 1]\")\n", </s> remove     "        with captured_output() as (out, err):\n",
    "            pre_order_traversal(node, sys.stdout.write)\n",
    "            assert_equal(out.getvalue().strip(), '52138')\n",
 </s> add     "        pre_order_traversal(node, self.results.add_result)\n",
    "        assert_equal(str(self.results), \"[5, 2, 1, 3, 8]\")\n",
    "        self.results.clear_results()\n",
    "    pass\n",
      "    pass\n",
      "\n",
      "def pre_order_traversal(node, visit_func):\n",
      "    # TODO: Implement me\n",
    "    pass\n",
      "\n",
      "def post_order_traversal(node, visit_func):\n",
      "    # TODO: Implement me\n",
      "    pass"
     ]
    },
keep keep keep add keep keep keep keep keep keep
 Reworked tree dfs unit tests. 
graphs_trees/tree_dfs/dfs_challenge.ipynb