1111# Make the test results reproducible regardless of what color libraries are installed
1212tf .TableColors .set_color_library ('none' )
1313
14- WITH_HEADER = '╔══════╤══════╤══════╤══════╗\n ║ Col1 │ Col2 │ Col3 │ Col4 ║\n ╠══════╪══════╪══════╪══════╣\n ║ A1 │ A2 │ A3 │ A4 ║\n ║ B1 │ B2 │ B3 │ B4 ║\n ║ │ B2 │ │ ║\n ║ │ B2 │ │ ║\n ║ C1 │ C2 │ C3 │ C4 ║\n ║ D1 │ D2 │ D3 │ D4 ║\n ╚══════╧══════╧══════╧══════╝\n '
15- HEADER_TRANSPOSED = '╔══════╦════╤════╤════╤════╗\n ║ Col1 ║ A1 │ B1 │ C1 │ D1 ║\n ║ Col2 ║ A2 │ B2 │ C2 │ D2 ║\n ║ ║ │ B2 │ │ ║\n ║ ║ │ B2 │ │ ║\n ║ Col3 ║ A3 │ B3 │ C3 │ D3 ║\n ║ Col4 ║ A4 │ B4 │ C4 │ D4 ║\n ╚══════╩════╧════╧════╧════╝\n '
14+ WITH_HEADER = '''
15+ ╔══════╤══════╤══════╤══════╗
16+ ║ Col1 │ Col2 │ Col3 │ Col4 ║
17+ ╠══════╪══════╪══════╪══════╣
18+ ║ A1 │ A2 │ A3 │ A4 ║
19+ ║ B1 │ B2 │ B3 │ B4 ║
20+ ║ │ B2 │ │ ║
21+ ║ │ B2 │ │ ║
22+ ║ C1 │ C2 │ C3 │ C4 ║
23+ ║ D1 │ D2 │ D3 │ D4 ║
24+ ╚══════╧══════╧══════╧══════╝
25+ ''' .lstrip ('\n ' )
26+
27+ HEADER_TRANSPOSED = '''
28+ ╔══════╦════╤════╤════╤════╗
29+ ║ Col1 ║ A1 │ B1 │ C1 │ D1 ║
30+ ║ Col2 ║ A2 │ B2 │ C2 │ D2 ║
31+ ║ ║ │ B2 │ │ ║
32+ ║ ║ │ B2 │ │ ║
33+ ║ Col3 ║ A3 │ B3 │ C3 │ D3 ║
34+ ║ Col4 ║ A4 │ B4 │ C4 │ D4 ║
35+ ╚══════╩════╧════╧════╧════╝
36+ ''' .lstrip ('\n ' )
1637
1738
1839@pytest .fixture
@@ -29,22 +50,58 @@ def cols():
2950 return columns
3051
3152def test_basic_table (rows ):
32- expected = '╔════╤════╤════╤════╗\n ║ A1 │ A2 │ A3 │ A4 ║\n ║ B1 │ B2 │ B3 │ B4 ║\n ║ │ B2 │ │ ║\n ║ │ B2 │ │ ║\n ║ C1 │ C2 │ C3 │ C4 ║\n ║ D1 │ D2 │ D3 │ D4 ║\n ╚════╧════╧════╧════╝\n '
53+ expected = '''
54+ ╔════╤════╤════╤════╗
55+ ║ A1 │ A2 │ A3 │ A4 ║
56+ ║ B1 │ B2 │ B3 │ B4 ║
57+ ║ │ B2 │ │ ║
58+ ║ │ B2 │ │ ║
59+ ║ C1 │ C2 │ C3 │ C4 ║
60+ ║ D1 │ D2 │ D3 │ D4 ║
61+ ╚════╧════╧════╧════╝
62+ ''' .lstrip ('\n ' )
3363 table = tf .generate_table (rows )
3464 assert table == expected
3565
3666def test_basic_transposed (rows ):
37- expected = '╔════╤════╤════╤════╗\n ║ A1 │ B1 │ C1 │ D1 ║\n ║ A2 │ B2 │ C2 │ D2 ║\n ║ │ B2 │ │ ║\n ║ │ B2 │ │ ║\n ║ A3 │ B3 │ C3 │ D3 ║\n ║ A4 │ B4 │ C4 │ D4 ║\n ╚════╧════╧════╧════╝\n '
67+ expected = '''
68+ ╔════╤════╤════╤════╗
69+ ║ A1 │ B1 │ C1 │ D1 ║
70+ ║ A2 │ B2 │ C2 │ D2 ║
71+ ║ │ B2 │ │ ║
72+ ║ │ B2 │ │ ║
73+ ║ A3 │ B3 │ C3 │ D3 ║
74+ ║ A4 │ B4 │ C4 │ D4 ║
75+ ╚════╧════╧════╧════╝
76+ ''' .lstrip ('\n ' )
3877 table = tf .generate_table (rows , transpose = True )
3978 assert table == expected
4079
4180def test_basic_fancy_grid (rows ):
42- expected = '╔════╤════╤════╤════╗\n ║ A1 │ A2 │ A3 │ A4 ║\n ╟────┼────┼────┼────╢\n ║ B1 │ B2 │ B3 │ B4 ║\n ║ │ B2 │ │ ║\n ║ │ B2 │ │ ║\n ╟────┼────┼────┼────╢\n ║ C1 │ C2 │ C3 │ C4 ║\n ╟────┼────┼────┼────╢\n ║ D1 │ D2 │ D3 │ D4 ║\n ╚════╧════╧════╧════╝\n '
81+ expected = '''
82+ ╔════╤════╤════╤════╗
83+ ║ A1 │ A2 │ A3 │ A4 ║
84+ ╟────┼────┼────┼────╢
85+ ║ B1 │ B2 │ B3 │ B4 ║
86+ ║ │ B2 │ │ ║
87+ ║ │ B2 │ │ ║
88+ ╟────┼────┼────┼────╢
89+ ║ C1 │ C2 │ C3 │ C4 ║
90+ ╟────┼────┼────┼────╢
91+ ║ D1 │ D2 │ D3 │ D4 ║
92+ ╚════╧════╧════╧════╝
93+ ''' .lstrip ('\n ' )
4394 table = tf .generate_table (rows , grid_style = tf .FancyGrid )
4495 assert table == expected
4596
4697def test_basic_sparse_grid (rows ):
47- expected = ' A1 A2 A3 A4 \n B1 B2 B3 B4 \n B2 \n B2 \n C1 C2 C3 C4 \n D1 D2 D3 D4 \n \n '
98+ expected = '''
99+ A1 A2 A3 A4
100+ B1 B2 B3 B4
101+ B2
102+ B2
103+ C1 C2 C3 C4
104+ D1 D2 D3 D4 \n \n ''' .lstrip ('\n ' )
48105 table = tf .generate_table (rows , grid_style = tf .SparseGrid )
49106 assert table == expected
50107
@@ -57,12 +114,30 @@ def test_table_with_header_transposed(rows, cols):
57114 assert table == HEADER_TRANSPOSED
58115
59116def test_table_with_header_transposed_fancy (rows , cols ):
60- expected = '╔══════╦════╤════╤════╤════╗\n ║ Col1 ║ A1 │ B1 │ C1 │ D1 ║\n ╟──────╫────┼────┼────┼────╢\n ║ Col2 ║ A2 │ B2 │ C2 │ D2 ║\n ║ ║ │ B2 │ │ ║\n ║ ║ │ B2 │ │ ║\n ╟──────╫────┼────┼────┼────╢\n ║ Col3 ║ A3 │ B3 │ C3 │ D3 ║\n ╟──────╫────┼────┼────┼────╢\n ║ Col4 ║ A4 │ B4 │ C4 │ D4 ║\n ╚══════╩════╧════╧════╧════╝\n '
117+ expected = '''
118+ ╔══════╦════╤════╤════╤════╗
119+ ║ Col1 ║ A1 │ B1 │ C1 │ D1 ║
120+ ╟──────╫────┼────┼────┼────╢
121+ ║ Col2 ║ A2 │ B2 │ C2 │ D2 ║
122+ ║ ║ │ B2 │ │ ║
123+ ║ ║ │ B2 │ │ ║
124+ ╟──────╫────┼────┼────┼────╢
125+ ║ Col3 ║ A3 │ B3 │ C3 │ D3 ║
126+ ╟──────╫────┼────┼────┼────╢
127+ ║ Col4 ║ A4 │ B4 │ C4 │ D4 ║
128+ ╚══════╩════╧════╧════╧════╝
129+ ''' .lstrip ('\n ' )
61130 table = tf .generate_table (rows , cols , grid_style = tf .FancyGrid , transpose = True )
62131 assert table == expected
63132
64133def test_table_with_header_transposed_sparse (rows , cols ):
65- expected = ' Col1 A1 B1 C1 D1 \n Col2 A2 B2 C2 D2 \n B2 \n B2 \n Col3 A3 B3 C3 D3 \n Col4 A4 B4 C4 D4 \n \n '
134+ expected = '''
135+ Col1 A1 B1 C1 D1
136+ Col2 A2 B2 C2 D2
137+ B2
138+ B2
139+ Col3 A3 B3 C3 D3
140+ Col4 A4 B4 C4 D4 \n \n ''' .lstrip ('\n ' )
66141 table = tf .generate_table (rows , cols , grid_style = tf .SparseGrid , transpose = True )
67142 assert table == expected
68143
@@ -105,12 +180,32 @@ def test_object_table_transposed(obj_rows, obj_cols):
105180 assert table == HEADER_TRANSPOSED
106181
107182def test_object_table_fancy_grid (obj_rows , obj_cols ):
108- expected = '╔══════╤══════╤══════╤══════╗\n ║ Col1 │ Col2 │ Col3 │ Col4 ║\n ╠══════╪══════╪══════╪══════╣\n ║ A1 │ A2 │ A3 │ A4 ║\n ╟──────┼──────┼──────┼──────╢\n ║ B1 │ B2 │ B3 │ B4 ║\n ║ │ B2 │ │ ║\n ║ │ B2 │ │ ║\n ╟──────┼──────┼──────┼──────╢\n ║ C1 │ C2 │ C3 │ C4 ║\n ╟──────┼──────┼──────┼──────╢\n ║ D1 │ D2 │ D3 │ D4 ║\n ╚══════╧══════╧══════╧══════╝\n '
183+ expected = '''
184+ ╔══════╤══════╤══════╤══════╗
185+ ║ Col1 │ Col2 │ Col3 │ Col4 ║
186+ ╠══════╪══════╪══════╪══════╣
187+ ║ A1 │ A2 │ A3 │ A4 ║
188+ ╟──────┼──────┼──────┼──────╢
189+ ║ B1 │ B2 │ B3 │ B4 ║
190+ ║ │ B2 │ │ ║
191+ ║ │ B2 │ │ ║
192+ ╟──────┼──────┼──────┼──────╢
193+ ║ C1 │ C2 │ C3 │ C4 ║
194+ ╟──────┼──────┼──────┼──────╢
195+ ║ D1 │ D2 │ D3 │ D4 ║
196+ ╚══════╧══════╧══════╧══════╝
197+ ''' .lstrip ('\n ' )
109198 table = tf .generate_table (obj_rows , obj_cols , grid_style = tf .FancyGrid )
110199 assert table == expected
111200
112201def test_object_table_sparse_grid (obj_rows , obj_cols ):
113- expected = ' A1 A2 A3 A4 \n B1 B2 B3 B4 \n B2 \n B2 \n C1 C2 C3 C4 \n D1 D2 D3 D4 \n \n '
202+ expected = '''
203+ A1 A2 A3 A4
204+ B1 B2 B3 B4
205+ B2
206+ B2
207+ C1 C2 C3 C4
208+ D1 D2 D3 D4 \n \n ''' .lstrip ('\n ' )
114209 table = tf .generate_table (obj_rows , obj_cols , grid_style = tf .SparseGrid )
115210 assert table == expected
116211
@@ -119,7 +214,18 @@ def test_object_table_columns_rearranged(obj_rows):
119214 tf .Column ('Col2' , attrib = 'field2' ),
120215 tf .Column ('Col3' , attrib = 'field1' ),
121216 tf .Column ('Col4' , attrib = 'field4' ))
122- expected = '╔══════╤══════╤══════╤══════╗\n ║ Col1 │ Col2 │ Col3 │ Col4 ║\n ╠══════╪══════╪══════╪══════╣\n ║ │ A2 │ A1 │ A4 ║\n ║ │ B2 │ B1 │ B4 ║\n ║ │ B2 │ │ ║\n ║ │ B2 │ │ ║\n ║ │ C2 │ C1 │ C4 ║\n ║ │ D2 │ D1 │ D4 ║\n ╚══════╧══════╧══════╧══════╝\n '
217+ expected = '''
218+ ╔══════╤══════╤══════╤══════╗
219+ ║ Col1 │ Col2 │ Col3 │ Col4 ║
220+ ╠══════╪══════╪══════╪══════╣
221+ ║ │ A2 │ A1 │ A4 ║
222+ ║ │ B2 │ B1 │ B4 ║
223+ ║ │ B2 │ │ ║
224+ ║ │ B2 │ │ ║
225+ ║ │ C2 │ C1 │ C4 ║
226+ ║ │ D2 │ D1 │ D4 ║
227+ ╚══════╧══════╧══════╧══════╝
228+ ''' .lstrip ('\n ' )
123229 table = tf .generate_table (obj_rows , cols2 )
124230 assert table == expected
125231
0 commit comments