summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKevin Van Brunt <kmvanbrunt@gmail.com>2020-05-28 16:04:08 -0400
committerKevin Van Brunt <kmvanbrunt@gmail.com>2020-05-28 16:04:08 -0400
commitd15439225fda1c70c685f678871903b9c8694720 (patch)
tree190ecd936153e5a54d5b756f3c817a92c1dddab9 /tests
parent072ec86c62e0295add619d32d9f10c84461780af (diff)
downloadcmd2-git-d15439225fda1c70c685f678871903b9c8694720.tar.gz
Added unit tests for base_width()
Diffstat (limited to 'tests')
-rw-r--r--tests/test_table_creator.py57
1 files changed, 54 insertions, 3 deletions
diff --git a/tests/test_table_creator.py b/tests/test_table_creator.py
index 65cb8472..3136e801 100644
--- a/tests/test_table_creator.py
+++ b/tests/test_table_creator.py
@@ -240,7 +240,7 @@ def test_tabs():
assert row == ' Col 1 Col 2 '
-def test_simple_table():
+def test_simple_table_creation():
column_1 = Column("Col 1", width=16)
column_2 = Column("Col 2", width=16)
@@ -310,7 +310,31 @@ def test_simple_table():
assert "Row spacing cannot be less than 0" in str(excinfo.value)
-def test_bordered_table():
+def test_simple_table_base_width():
+ # Default divider char
+ assert SimpleTable.base_width(1) == 0
+ assert SimpleTable.base_width(2) == 2
+ assert SimpleTable.base_width(3) == 4
+
+ # Standard divider char
+ divider_char = '*'
+ assert SimpleTable.base_width(1, divider_char=divider_char) == 0
+ assert SimpleTable.base_width(2, divider_char=divider_char) == 2
+ assert SimpleTable.base_width(3, divider_char=divider_char) == 4
+
+ # Wide divider char
+ divider_char = '深'
+ assert SimpleTable.base_width(1, divider_char=divider_char) == 0
+ assert SimpleTable.base_width(2, divider_char=divider_char) == 4
+ assert SimpleTable.base_width(3, divider_char=divider_char) == 8
+
+ # Invalid num_cols value
+ with pytest.raises(ValueError) as excinfo:
+ SimpleTable.base_width(0)
+ assert "Column count cannot be less than 1" in str(excinfo.value)
+
+
+def test_bordered_table_creation():
column_1 = Column("Col 1", width=15)
column_2 = Column("Col 2", width=15)
@@ -366,7 +390,34 @@ def test_bordered_table():
assert "Padding cannot be less than 0" in str(excinfo.value)
-def test_alternating_table():
+def test_bordered_table_base_width():
+ # Default behavior (column_borders=True, padding=1)
+ assert BorderedTable.base_width(1) == 4
+ assert BorderedTable.base_width(2) == 7
+ assert BorderedTable.base_width(3) == 10
+
+ # No column borders
+ assert BorderedTable.base_width(1, column_borders=False) == 4
+ assert BorderedTable.base_width(2, column_borders=False) == 6
+ assert BorderedTable.base_width(3, column_borders=False) == 8
+
+ # No padding
+ assert BorderedTable.base_width(1, padding=0) == 2
+ assert BorderedTable.base_width(2, padding=0) == 3
+ assert BorderedTable.base_width(3, padding=0) == 4
+
+ # Extra padding
+ assert BorderedTable.base_width(1, padding=3) == 8
+ assert BorderedTable.base_width(2, padding=3) == 15
+ assert BorderedTable.base_width(3, padding=3) == 22
+
+ # Invalid num_cols value
+ with pytest.raises(ValueError) as excinfo:
+ BorderedTable.base_width(0)
+ assert "Column count cannot be less than 1" in str(excinfo.value)
+
+
+def test_alternating_table_creation():
column_1 = Column("Col 1", width=15)
column_2 = Column("Col 2", width=15)