# Path: terminaltables/build.py
# def build_row(row, left, center, right):
#     """Combine single or multi-lined cells into a single row of list of lists including borders.
# 
#     Row must already be padded and extended so each cell has the same number of lines.
# 
#     Example return value:
#     [
#         ['>', 'Left ', '|', 'Center', '|', 'Right', '<'],
#         ['>', 'Cell1', '|', 'Cell2 ', '|', 'Cell3', '<'],
#     ]
# 
#     :param iter row: List of cells for one row.
#     :param str left: Left border.
#     :param str center: Column separator.
#     :param str right: Right border.
# 
#     :return: Yields other generators that yield strings.
#     :rtype: iter
#     """
#     if not row or not row[0]:
#         yield combine((), left, center, right)
#         return
#     for row_index in range(len(row[0])):
#         yield combine((c[row_index] for c in row), left, center, right)


from terminaltables.build import build_row
    ]
    actual = [tuple(i) for i in build_row(row, '>', '|', '<')]
    expected = [
        ('>', 'Left ', '|', 'Center', '|', 'Right', '<'),
        ('>', 'Cell1', '|', 'Cell2 ', '|', 'Cell3', '<'),
    ]
    assert actual == expected


def test_three_line():
    """Test with three line cells."""
    row = [
        [
            'Left ',
            'Cell1',
            '     ',
        ],

        [
            'Center',
            'Cell2 ',
            '      ',
        ],

        [
            'Right',
            'Cell3',
            '     ',
        ],
    ]

# Path: terminaltables/build.py
# def build_row(row, left, center, right):
#     """Combine single or multi-lined cells into a single row of list of lists including borders.
# 
#     Row must already be padded and extended so each cell has the same number of lines.
# 
#     Example return value:
#     [
#         ['>', 'Left ', '|', 'Center', '|', 'Right', '<'],
#         ['>', 'Cell1', '|', 'Cell2 ', '|', 'Cell3', '<'],
#     ]
# 
#     :param iter row: List of cells for one row.
#     :param str left: Left border.
#     :param str center: Column separator.
#     :param str right: Right border.
# 
#     :return: Yields other generators that yield strings.
#     :rtype: iter
#     """
#     if not row or not row[0]:
#         yield combine((), left, center, right)
#         return
#     for row_index in range(len(row[0])):
#         yield combine((c[row_index] for c in row), left, center, right)


# Path: tests/test_build/test_build_row.py
from terminaltables.build import build_row

    ]
    actual = [tuple(i) for i in build_row(row, '>', '|', '<')]
    expected = [
        ('>', 'Left ', '|', 'Center', '|', 'Right', '<'),
        ('>', 'Cell1', '|', 'Cell2 ', '|', 'Cell3', '<'),
    ]
    assert actual == expected


def test_three_line():
    """Test with three line cells."""
    row = [
        [
            'Left ',
            'Cell1',
            '     ',
        ],

        [
            'Center',
            'Cell2 ',
            '      ',
        ],

        [
            'Right',
            'Cell3',
            '     ',
        ],
    ]

    actual = [tuple(i) for i in build_row(row, '>', '|', '<')]