62 lines
2.3 KiB
Python
62 lines
2.3 KiB
Python
"""PorcelainTable end to end testing."""
|
|
|
|
from terminaltables3 import PorcelainTable
|
|
|
|
|
|
def test_single_line():
|
|
"""Test single-lined cells."""
|
|
table_data = [
|
|
["Name", "Color", "Type"],
|
|
["Avocado", "green", "nut"],
|
|
["Tomato", "red", "fruit"],
|
|
["Lettuce", "green", "vegetable"],
|
|
["Watermelon", "green"],
|
|
]
|
|
table = PorcelainTable(table_data)
|
|
table.justify_columns[0] = "left"
|
|
table.justify_columns[1] = "center"
|
|
table.justify_columns[2] = "right"
|
|
actual = table.table
|
|
|
|
expected = (
|
|
" Name | Color | Type \n"
|
|
" Avocado | green | nut \n"
|
|
" Tomato | red | fruit \n"
|
|
" Lettuce | green | vegetable \n"
|
|
" Watermelon | green | "
|
|
)
|
|
assert actual == expected
|
|
|
|
|
|
def test_multi_line():
|
|
"""Test multi-lined cells."""
|
|
table_data = [
|
|
["Show", "Characters"],
|
|
[
|
|
"Rugrats",
|
|
"Tommy Pickles, Chuckie Finster, Phillip DeVille, Lillian DeVille, Angelica Pickles,\nDil Pickles",
|
|
],
|
|
["South Park", "Stan Marsh, Kyle Broflovski, Eric Cartman, Kenny McCormick"],
|
|
]
|
|
table = PorcelainTable(table_data)
|
|
|
|
# Test defaults.
|
|
actual = table.table
|
|
expected = (
|
|
" Show | Characters \n"
|
|
" Rugrats | Tommy Pickles, Chuckie Finster, Phillip DeVille, Lillian DeVille, Angelica Pickles, \n"
|
|
" | Dil Pickles \n"
|
|
" South Park | Stan Marsh, Kyle Broflovski, Eric Cartman, Kenny McCormick "
|
|
)
|
|
assert actual == expected
|
|
|
|
# Justify right.
|
|
table.justify_columns = {1: "right"}
|
|
actual = table.table
|
|
expected = (
|
|
" Show | Characters \n"
|
|
" Rugrats | Tommy Pickles, Chuckie Finster, Phillip DeVille, Lillian DeVille, Angelica Pickles, \n"
|
|
" | Dil Pickles \n"
|
|
" South Park | Stan Marsh, Kyle Broflovski, Eric Cartman, Kenny McCormick "
|
|
)
|
|
assert actual == expected
|