      "\n",
      "class TestTreeLevelLists(object):\n",
      "\n",
      "    def test_tree_level_lists(self):\n",
      "        node = Node(5)\n",
      "        insert(node, 3)\n",
      "        insert(node, 8)\n",
      "        insert(node, 2)\n",
      "        insert(node, 4)\n",
      "        insert(node, 1)\n",
      "        insert(node, 7)\n",
      "        insert(node, 6)\n",
      "        insert(node, 9)\n",
      "        insert(node, 10)\n",
      "        insert(node, 11)\n",
      "\n",
      "        levels = create_level_lists(node)\n",
      "        results_list = []\n",
      "        for level in levels:\n",
      "            results = Results()\n",
      "            for node in level:\n",
      "                results.add_result(node)\n",
 
</s> remove     "        node = Node(5)\n",
    "        insert(node, 3)\n",
    "        insert(node, 8)\n",
    "        insert(node, 2)\n",
    "        insert(node, 4)\n",
    "        insert(node, 1)\n",
    "        insert(node, 7)\n",
    "        insert(node, 6)\n",
    "        insert(node, 9)\n",
    "        insert(node, 10)\n",
    "        insert(node, 11)\n",
    "\n",
    "        levels = create_level_lists(node)\n",
 </s> add     "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n", </s> remove         node = Node(5)
        insert(node, 3)
        insert(node, 8)
        insert(node, 2)
        insert(node, 4)
        insert(node, 1)
        insert(node, 7)
        insert(node, 6)
        insert(node, 9)
        insert(node, 10)
        insert(node, 11)

        levels = create_level_lists(node)
 </s> add         bst = BstLevelLists(Node(5))
        bst.insert(3)
        bst.insert(8)
        bst.insert(2)
        bst.insert(4)
        bst.insert(1)
        bst.insert(7)
        bst.insert(6)
        bst.insert(9)
        bst.insert(10)
        bst.insert(11)

        levels = bst.create_level_lists() </s> remove     "def create_level_lists(root):\n",
    "    if root is None:\n",
    "        return\n",
    "    results = []\n",
    "    current = []\n",
    "    parents = []\n",
    "    current.append(root)\n",
    "    while current:\n",
    "        results.append(current)\n",
    "        parents = list(current)\n",
 </s> add     "class BstLevelLists(Bst):\n",
    "\n",
    "    def create_level_lists(self):\n",
    "        if self.root is None:\n",
    "            return\n",
    "        results = []\n", </s> remove     "        for parent in parents:\n",
    "            if parent.left is not None:\n",
    "                current.append(parent.left)\n",
    "            if parent.right is not None:\n",
    "                current.append(parent.right)\n",
    "    return results"
 </s> add     "        parents = []\n",
    "        current.append(self.root)\n",
    "        while current:\n",
    "            results.append(current)\n",
    "            parents = list(current)\n",
    "            current = []\n",
    "            for parent in parents:\n",
    "                if parent.left is not None:\n",
    "                    current.append(parent.left)\n",
    "                if parent.right is not None:\n",
    "                    current.append(parent.right)\n",
    "        return results" </s> remove     "def create_level_lists(root):\n",
    "    # TODO: Implement me\n",
    "    pass"
 </s> add     "class BstLevelLists(Bst):\n",
    "\n",
    "    def create_level_lists(self):\n",
    "        # TODO: Implement me\n",
    "        pass"
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
      "\n",
      "class TestTreeLevelLists(object):\n",
      "\n",
      "    def test_tree_level_lists(self):\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
    "        bst = BstLevelLists(Node(5))\n",
    "        bst.insert(3)\n",
    "        bst.insert(8)\n",
    "        bst.insert(2)\n",
    "        bst.insert(4)\n",
    "        bst.insert(1)\n",
    "        bst.insert(7)\n",
    "        bst.insert(6)\n",
    "        bst.insert(9)\n",
    "        bst.insert(10)\n",
    "        bst.insert(11)\n",
    "\n",
    "        levels = bst.create_level_lists()\n",
      "        results_list = []\n",
      "        for level in levels:\n",
      "            results = Results()\n",
      "            for node in level:\n",
      "                results.add_result(node)\n",
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Move tree level lists to a class 
graphs_trees/tree_level_lists/tree_level_lists_challenge.ipynb