1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
from __future__ import annotations
from prettytable import HRuleStyle, PrettyTable, VRuleStyle
class TestLatexOutput:
def test_latex_output(self, helper_table: PrettyTable) -> None:
assert helper_table.get_latex_string() == (
"\\begin{tabular}{cccc}\r\n"
" & Field 1 & Field 2 & Field 3 \\\\\r\n"
"1 & value 1 & value2 & value3 \\\\\r\n"
"4 & value 4 & value5 & value6 \\\\\r\n"
"7 & value 7 & value8 & value9 \\\\\r\n"
"\\end{tabular}"
)
options = {"fields": ["Field 1", "Field 3"]}
assert helper_table.get_latex_string(**options) == (
"\\begin{tabular}{cc}\r\n"
"Field 1 & Field 3 \\\\\r\n"
"value 1 & value3 \\\\\r\n"
"value 4 & value6 \\\\\r\n"
"value 7 & value9 \\\\\r\n"
"\\end{tabular}"
)
def test_latex_output_formatted(self, helper_table: PrettyTable) -> None:
assert helper_table.get_latex_string(format=True) == (
"\\begin{tabular}{|c|c|c|c|}\r\n"
"\\hline\r\n"
" & Field 1 & Field 2 & Field 3 \\\\\r\n"
"1 & value 1 & value2 & value3 \\\\\r\n"
"4 & value 4 & value5 & value6 \\\\\r\n"
"7 & value 7 & value8 & value9 \\\\\r\n"
"\\hline\r\n"
"\\end{tabular}"
)
options = {"fields": ["Field 1", "Field 3"]}
assert helper_table.get_latex_string(format=True, **options) == (
"\\begin{tabular}{|c|c|}\r\n"
"\\hline\r\n"
"Field 1 & Field 3 \\\\\r\n"
"value 1 & value3 \\\\\r\n"
"value 4 & value6 \\\\\r\n"
"value 7 & value9 \\\\\r\n"
"\\hline\r\n"
"\\end{tabular}"
)
vrule_options: dict[str, VRuleStyle] = {"vrules": VRuleStyle.FRAME}
assert helper_table.get_latex_string(format=True, **vrule_options) == (
"\\begin{tabular}{|cccc|}\r\n"
"\\hline\r\n"
" & Field 1 & Field 2 & Field 3 \\\\\r\n"
"1 & value 1 & value2 & value3 \\\\\r\n"
"4 & value 4 & value5 & value6 \\\\\r\n"
"7 & value 7 & value8 & value9 \\\\\r\n"
"\\hline\r\n"
"\\end{tabular}"
)
hrule_options: dict[str, HRuleStyle] = {"hrules": HRuleStyle.ALL}
assert helper_table.get_latex_string(format=True, **hrule_options) == (
"\\begin{tabular}{|c|c|c|c|}\r\n"
"\\hline\r\n"
" & Field 1 & Field 2 & Field 3 \\\\\r\n"
"\\hline\r\n"
"1 & value 1 & value2 & value3 \\\\\r\n"
"\\hline\r\n"
"4 & value 4 & value5 & value6 \\\\\r\n"
"\\hline\r\n"
"7 & value 7 & value8 & value9 \\\\\r\n"
"\\hline\r\n"
"\\end{tabular}"
)
def test_latex_output_header(self, helper_table: PrettyTable) -> None:
assert helper_table.get_latex_string(format=True, hrules=HRuleStyle.HEADER) == (
"\\begin{tabular}{|c|c|c|c|}\r\n"
" & Field 1 & Field 2 & Field 3 \\\\\r\n"
"\\hline\r\n"
"1 & value 1 & value2 & value3 \\\\\r\n"
"4 & value 4 & value5 & value6 \\\\\r\n"
"7 & value 7 & value8 & value9 \\\\\r\n"
"\\end{tabular}"
)
def test_internal_border_preserved_latex(self, helper_table: PrettyTable) -> None:
helper_table.border = False
helper_table.format = True
helper_table.preserve_internal_border = True
assert helper_table.get_latex_string().strip() == (
"\\begin{tabular}{c|c|c|c}\r\n"
" & Field 1 & Field 2 & Field 3 \\\\\r\n"
"1 & value 1 & value2 & value3 \\\\\r\n"
"4 & value 4 & value5 & value6 \\\\\r\n"
"7 & value 7 & value8 & value9 \\\\\r\n"
"\\end{tabular}"
)
|