     "outputs": [],
     "source": [
      "class MyLinkedList(LinkedList):\n",
      "    \n",
      "    def __add__(self, first_node, second_node, carry):\n",
      "        if type(carry) != int and carry < 0:\n",
      "            raise ValueError('Invalid int argument: carry')\n",
      "        \n",
      "        # Base case\n",
      "        if first_node is None and second_node is None and carry == 0:\n",
 
</s> remove     "        node.next = self.__add__(first_node.next if first_node is not None else None, \n",
    "                                 second_node.next if first_node is not None else None, \n",
    "                                 new_carry)\n",
 </s> add     "        node.next = self.__add_reverse__(first_node.next if first_node is not None else None, \n",
    "                                     second_node.next if first_node is not None else None, \n",
    "                                     new_carry)\n", </s> remove     "    def add(self, first_list, second_list):\n",
 </s> add     "    def add_reverse(self, first_list, second_list):\n", </s> remove     "    def add(self, first_list, second_list):\n",
 </s> add     "    def add_reverse(self, first_list, second_list):\n", </s> remove     "        head = self.__add__(first_list.head, second_list.head, 0)\n",
 </s> add     "        head = self.__add_reverse__(first_list.head, second_list.head, 0)\n", </s> remove     "        assert_equal(MyLinkedList().add(None, None), None)\n",
    "        assert_equal(MyLinkedList().add(Node(5), None), None)\n",
    "        assert_equal(MyLinkedList().add(None, Node(10)), None)\n",
 </s> add     "        assert_equal(MyLinkedList().add_reverse(None, None), None)\n",
    "        assert_equal(MyLinkedList().add_reverse(Node(5), None), None)\n",
    "        assert_equal(MyLinkedList().add_reverse(None, Node(10)), None)\n",
    "    def __add_reverse__(self, first_node, second_node, carry):\n",
     "outputs": [],
     "source": [
      "class MyLinkedList(LinkedList):\n",
      "    \n",
    "    def __add_reverse__(self, first_node, second_node, carry):\n",
      "        if type(carry) != int and carry < 0:\n",
      "            raise ValueError('Invalid int argument: carry')\n",
      "        \n",
      "        # Base case\n",
      "        if first_node is None and second_node is None and carry == 0:\n",
keep keep keep keep replace keep keep keep keep keep
 Renamed unit test method to be more descriptive. 
linked_lists/add_reverse/add_reverse_solution.ipynb