def test__formatOrderedList_newLineAtEnd(self):

        text = ['1. Item one', '1. Item two', '']

        expected = ['1. Item one', '2. Item two', '']
        actual = list_utils._format_ordered_list(text)

        self.assertEqual(actual, expected)
    def test__formatOrderedList_newLineBetweenItems_multipleLevels(self):

        text = ['1. Item one', '', '\t2. Sub item one', '', '3. Item two']

        expected = ['1. Item one', '', '\t1. Sub item one', '', '2. Item two']
        actual = list_utils._format_ordered_list(text)

        self.assertEqual(actual, expected)
    def test__formatOrderedList_newLineBetweenItems(self):

        text = ['1. Item one', '', '1. Item two', '', '4. Item three']

        expected = ['1. Item one', '', '2. Item two', '', '3. Item three']
        actual = list_utils._format_ordered_list(text)

        self.assertEqual(actual, expected)
    def test__formatOrderedList_manyLevels_tabsAndSpaces(self):

        text = ['2. item one', '\t2. sub item', '3. item two', '    55. sub item', '\t    2. sub sub item 1', '        3. sub sub item 2', '1. item three']

        expected = ['1. item one', '\t1. sub item', '2. item two', '    1. sub item', '\t    1. sub sub item 1', '        2. sub sub item 2', '3. item three']
        actual = list_utils._format_ordered_list(text)

        self.assertEqual(actual, expected)
    def test__formatOrderedList_twoLevels_spaces(self):

        text = ['2. item one', '    2. sub item', '3. item two', '1. item three']

        expected = ['1. item one', '    1. sub item', '2. item two', '3. item three']
        actual = list_utils._format_ordered_list(text)

        self.assertEqual(actual, expected)
    def test__formatOrderedList_noChange(self):

        text = ['1. item one']

        expected = text
        actual = list_utils._format_ordered_list(text)

        self.assertEqual(actual, expected)