Advanced Nested Pyramid

Write a function advanced_nested_pyramid() that creates a string pyramid like the one shown below:

*
**
***
****
*****

The function should accept 3 parameters: the start level (1 in the previous example), the last level of the pyramid (5, in the previous example) and the character to use. Examples:

advanced_nested_pyramid(start=1, last=5, character='*')
"""
*
**
***
****
*****
"""

advanced_nested_pyramid(start=1, last=3, character='@')
"""
@
@@
@@@
"""

advanced_nested_pyramid(start=3, last=7, character='A')
"""
AAA
AAAA
AAAAA
AAAAAA
AAAAAAA
"""
import unittest

EXPECTED_DEFAULT = """*
**
***
****
*****
"""

EXPECTED_WITH_LAST_AND_CHAR = """@
@@
@@@
@@@@
@@@@@
@@@@@@
"""

EXPECTED_WITH_START_LAST_AND_CHAR = """>>>>
>>>>>
>>>>>>
>>>>>>>
>>>>>>>>
"""


class AdvancedNestedPyramidTestCase(unittest.TestCase):

    def test_default_parameters(self):
        self.assertEqual(advanced_nested_pyramid(), EXPECTED_DEFAULT)

    def test_last_parameter_with_special_char(self):
        self.assertEqual(
            advanced_nested_pyramid(last=6, char='@'),
            EXPECTED_WITH_LAST_AND_CHAR)

    def test_start_last_parameter_with_special_char(self):
        self.assertEqual(
            advanced_nested_pyramid(start=4, last=8, char='>'),
            EXPECTED_WITH_START_LAST_AND_CHAR)