def test_attributes(): """Test with different attributes.""" table_data = [ ['Name', 'Color', 'Type'], ['Avocado', 'green', 'nut'], ['Tomato', 'red', 'fruit'], ['Lettuce', 'green', 'vegetable'], ] table = AsciiTable(table_data) assert 31 == max(len(r) for r in table.table.splitlines()) assert 31 == table.table_width table.outer_border = False assert 29 == max(len(r) for r in table.table.splitlines()) assert 29 == table.table_width table.inner_column_border = False assert 27 == max(len(r) for r in table.table.splitlines()) assert 27 == table.table_width table.padding_left = 0 assert 24 == max(len(r) for r in table.table.splitlines()) assert 24 == table.table_width table.padding_right = 0 assert 21 == max(len(r) for r in table.table.splitlines()) assert 21 == table.table_width
def test_attributes(): """Test table attributes.""" table_data = [['Name', 'Color', 'Type'], ['Avocado', 'green', 'nut'], ['Tomato', 'red', 'fruit'], ['Lettuce', 'green', 'vegetable'], ['Watermelon', 'green']] table = AsciiTable(table_data) table.justify_columns[0] = 'right' expected = dedent("""\ +------------+-------+-----------+ | Name | Color | Type | +------------+-------+-----------+ | Avocado | green | nut | | Tomato | red | fruit | | Lettuce | green | vegetable | | Watermelon | green | | +------------+-------+-----------+""") assert table.table == expected table.justify_columns[2] = 'center' expected = dedent("""\ +------------+-------+-----------+ | Name | Color | Type | +------------+-------+-----------+ | Avocado | green | nut | | Tomato | red | fruit | | Lettuce | green | vegetable | | Watermelon | green | | +------------+-------+-----------+""") assert table.table == expected table.inner_heading_row_border = False expected = dedent("""\ +------------+-------+-----------+ | Name | Color | Type | | Avocado | green | nut | | Tomato | red | fruit | | Lettuce | green | vegetable | | Watermelon | green | | +------------+-------+-----------+""") assert table.table == expected table.title = 'Foods' table.inner_column_border = False expected = dedent("""\ +Foods-------------------------+ | Name Color Type | | Avocado green nut | | Tomato red fruit | | Lettuce green vegetable | | Watermelon green | +------------------------------+""") assert table.table == expected table.outer_border = False expected = (' Name Color Type \n' ' Avocado green nut \n' ' Tomato red fruit \n' ' Lettuce green vegetable \n' ' Watermelon green ') assert table.table == expected table.outer_border = True table.inner_row_border = True expected = dedent("""\ +Foods-------------------------+ | Name Color Type | +------------------------------+ | Avocado green nut | +------------------------------+ | Tomato red fruit | +------------------------------+ | Lettuce green vegetable | +------------------------------+ | Watermelon green | +------------------------------+""") assert table.table == expected table.title = False table.inner_column_border = True table.inner_heading_row_border = False # Ignored due to inner_row_border. table.inner_row_border = True expected = dedent("""\ +------------+-------+-----------+ | Name | Color | Type | +------------+-------+-----------+ | Avocado | green | nut | +------------+-------+-----------+ | Tomato | red | fruit | +------------+-------+-----------+ | Lettuce | green | vegetable | +------------+-------+-----------+ | Watermelon | green | | +------------+-------+-----------+""") assert table.table == expected table.outer_border = False expected = (' Name | Color | Type \n' '------------+-------+-----------\n' ' Avocado | green | nut \n' '------------+-------+-----------\n' ' Tomato | red | fruit \n' '------------+-------+-----------\n' ' Lettuce | green | vegetable \n' '------------+-------+-----------\n' ' Watermelon | green | ') assert table.table == expected
def test_attributes(): """Test table attributes.""" table_data = [ ['Name', 'Color', 'Type'], ['Avocado', 'green', 'nut'], ['Tomato', 'red', 'fruit'], ['Lettuce', 'green', 'vegetable'], ['Watermelon', 'green'] ] table = AsciiTable(table_data) table.justify_columns[0] = 'right' expected = dedent("""\ +------------+-------+-----------+ | Name | Color | Type | +------------+-------+-----------+ | Avocado | green | nut | | Tomato | red | fruit | | Lettuce | green | vegetable | | Watermelon | green | | +------------+-------+-----------+""") assert table.table == expected table.justify_columns[2] = 'center' expected = dedent("""\ +------------+-------+-----------+ | Name | Color | Type | +------------+-------+-----------+ | Avocado | green | nut | | Tomato | red | fruit | | Lettuce | green | vegetable | | Watermelon | green | | +------------+-------+-----------+""") assert table.table == expected table.inner_heading_row_border = False expected = dedent("""\ +------------+-------+-----------+ | Name | Color | Type | | Avocado | green | nut | | Tomato | red | fruit | | Lettuce | green | vegetable | | Watermelon | green | | +------------+-------+-----------+""") assert table.table == expected table.title = 'Foods' table.inner_column_border = False expected = dedent("""\ +Foods-------------------------+ | Name Color Type | | Avocado green nut | | Tomato red fruit | | Lettuce green vegetable | | Watermelon green | +------------------------------+""") assert table.table == expected table.outer_border = False expected = ( ' Name Color Type \n' ' Avocado green nut \n' ' Tomato red fruit \n' ' Lettuce green vegetable \n' ' Watermelon green ' ) assert table.table == expected table.outer_border = True table.inner_row_border = True expected = dedent("""\ +Foods-------------------------+ | Name Color Type | +------------------------------+ | Avocado green nut | +------------------------------+ | Tomato red fruit | +------------------------------+ | Lettuce green vegetable | +------------------------------+ | Watermelon green | +------------------------------+""") assert table.table == expected table.title = False table.inner_column_border = True table.inner_heading_row_border = False # Ignored due to inner_row_border. table.inner_row_border = True expected = dedent("""\ +------------+-------+-----------+ | Name | Color | Type | +------------+-------+-----------+ | Avocado | green | nut | +------------+-------+-----------+ | Tomato | red | fruit | +------------+-------+-----------+ | Lettuce | green | vegetable | +------------+-------+-----------+ | Watermelon | green | | +------------+-------+-----------+""") assert table.table == expected table.outer_border = False expected = ( ' Name | Color | Type \n' '------------+-------+-----------\n' ' Avocado | green | nut \n' '------------+-------+-----------\n' ' Tomato | red | fruit \n' '------------+-------+-----------\n' ' Lettuce | green | vegetable \n' '------------+-------+-----------\n' ' Watermelon | green | ' ) assert table.table == expected