def test__formatUnorderedList(self):

        text = ['- item 1', '    * sub item', '        - sub sub item', '* item 2']
        expected = ['- item 1', '    + sub item', '        * sub sub item', '- item 2']

        actual = list_utils._format_unordered_list(text)

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

        text = ['* item', '* item']
        delimiters = ['-', '+', '*']

        expected = ['- item', '- item']
        actual = list_utils._format_unordered_list(text, delimiters)

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

        text = ['- Item one', '', '\t+ Sub item one', '', '* Item two']
        delimiters = ['-', '*']

        expected = ['- Item one', '', '\t* Sub item one', '', '- Item two']
        actual = list_utils._format_unordered_list(text, delimiters)

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

        text = ['- item one', '+ item two', '* item three']
        delimiters = ['-', '+', '*']

        expected = ['- item one', '- item two', '- item three']
        actual = list_utils._format_unordered_list(text, delimiters)

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

        text = ['- item', '    * sub item', '        + sub sub item']
        delimiters = ['-']

        expected = ['- item', '    - sub item', '        - sub sub item']
        actual = list_utils._format_unordered_list(text, delimiters)

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

        text = ['* item one', '* item two', '* item three']
        delimiters = ['-']

        expected = ['- item one', '- item two', '- item three']
        actual = list_utils._format_unordered_list(text, delimiters)

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

        text = ['+ item', '\t+ subitem', '\t\t+ subsubitem', '\t\t\t+ subsubsubitem']
        delimiters = ['-', '+', '*']

        expected = ['- item', '\t+ subitem', '\t\t* subsubitem', '\t\t\t- subsubsubitem']
        actual = list_utils._format_unordered_list(text, delimiters)

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

        text = ['- item', '    - subitem', '        - subsubitem']
        delimiters = ['-', '+', '*']

        expected = ['- item', '    + subitem', '        * subsubitem']
        actual = list_utils._format_unordered_list(text, delimiters)

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

        text = ['- Item one', '', '+ Item two', '', '* Item three']
        delimiters = ['-', '*']

        expected = ['- Item one', '', '- Item two', '', '- Item three']

        actual = list_utils._format_unordered_list(text, delimiters)

        self.assertEqual(actual, expected)