  class TestQuickSort(object):
      def test_quick_sort(self, func):
          print('Empty input')
          data = []
          sorted_data = func(data)
          assert_equal(sorted_data, [])
  
          print('One element')
 
</s> remove     "    if len(data) < 2:\n",
 </s> add     "    if data is None or len(data) < 2:\n", </s> remove     try:
        test.test_quick_sort(quick_sort_alt)
    except NameError:
        # Alternate solutions are only defined
        # in the solutions file
        pass
 </s> add  </s> remove     "* Space: O(n), n extra space, n recursion depth, generally not stable"
 </s> add     "* Space: O(n+m), n = number of elements, m = recursion depth\n",
    "\n",
    "Most implementations are not stable."
        print('None input')
        data = None
        sorted_data = func(data)
        assert_equal(sorted_data, None)

  class TestQuickSort(object):
      def test_quick_sort(self, func):
        print('None input')
        data = None
        sorted_data = func(data)
        assert_equal(sorted_data, None)

          print('Empty input')
          data = []
          sorted_data = func(data)
          assert_equal(sorted_data, [])
  
          print('One element')
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/test_quick_sort.py