      "class TestQuickSort(object):\n",
      "    def test_quick_sort(self, func):\n",
      "        print('Empty input')\n",
      "        data = []\n",
      "        sorted_data = func(data)\n",
      "        assert_equal(sorted_data, [])\n",
      "\n",
      "        print('One element')\n",
 
</s> remove     "    if len(data) < 2:\n",
 </s> add     "    if data is None or len(data) < 2:\n", </s> remove     "    try:\n",
    "        test.test_quick_sort(quick_sort_alt)\n",
    "    except NameError:\n",
    "        # Alternate solutions are only defined\n",
    "        # in the solutions file\n",
    "        pass\n",
 </s> add  </s> remove     "    try:\n",
    "        test.test_quick_sort(quick_sort_alt)\n",
    "    except NameError:\n",
    "        # Alternate solutions are only defined\n",
    "        # in the solutions file\n",
    "        pass\n",
 </s> add 
    "        print('None input')\n",
    "        data = None\n",
    "        sorted_data = func(data)\n",
    "        assert_equal(sorted_data, None)\n",
    "\n",
      "class TestQuickSort(object):\n",
      "    def test_quick_sort(self, func):\n",
    "        print('None input')\n",
    "        data = None\n",
    "        sorted_data = func(data)\n",
    "        assert_equal(sorted_data, None)\n",
    "\n",
      "        print('Empty input')\n",
      "        data = []\n",
      "        sorted_data = func(data)\n",
      "        assert_equal(sorted_data, [])\n",
      "\n",
      "        print('One element')\n",
keep add keep keep keep keep keep keep
 Polish quicksort challenge and solution

Add None input test case.  Remove difficult to read 'Pythonic' solution.  Update space complexity discussion. 
sorting_searching/quick_sort/quick_sort_challenge.ipynb