This commit is contained in:
@@ -1,8 +1,20 @@
|
||||
import pytest
|
||||
import sys
|
||||
import os
|
||||
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
|
||||
from slic.utils.printing import *
|
||||
from slic.utils.printing import (
|
||||
printable_dict,
|
||||
printable_dict_of_dicts,
|
||||
printable_table,
|
||||
itemize,
|
||||
maxstrlen,
|
||||
maxlen,
|
||||
mk_pad,
|
||||
strlen,
|
||||
format_header,
|
||||
_prepend,
|
||||
_transpose,
|
||||
_fmt_table_data,
|
||||
_fmt_table_line,
|
||||
_fmt_label_sep,
|
||||
)
|
||||
|
||||
# maxlen / maxstrlen / strlen
|
||||
@pytest.mark.parametrize("seq,expected", [
|
||||
@@ -18,7 +30,7 @@ def test_maxlen_valid(seq, expected):
|
||||
([1, True, 3.1415], 6), # "3.1415"
|
||||
(["aa", "bbb", "c"], 3), # "bbb"
|
||||
([[1, 2], [], [1, 2, 3]], 9), # "[1, 2, 3]"
|
||||
([{"a": 1}, {}, {"a": 1, "b": 2}], 17), # "{'a': 1, 'b': 2}"
|
||||
([{"a": 1}, {}, {"a": 1, "b": 2}], 16), # "{'a': 1, 'b': 2}"
|
||||
([None, False, 12345], 5), # "12345"
|
||||
])
|
||||
def test_maxstrlen(seq, expected):
|
||||
@@ -50,7 +62,7 @@ def test_mk_pad(x, length, expected):
|
||||
# format_header
|
||||
@pytest.mark.parametrize("msg,line,expected", [
|
||||
("Title", "-", "Title:\n------"),
|
||||
("Hello", "=", "Hello:\n====="),
|
||||
("Hellooo", "=", "Hellooo:\n========"),
|
||||
])
|
||||
def test_format_header(msg, line, expected):
|
||||
assert format_header(msg, line) == expected
|
||||
@@ -59,7 +71,7 @@ def test_format_header(msg, line, expected):
|
||||
@pytest.mark.parametrize("items,header,bullet,expected_lines", [
|
||||
(["apple", "banana"], None, "-", ["- apple", "- banana"]),
|
||||
(["x", "y"], "Vars", "*", ["Vars:\n-----", "* x", "* y"]),
|
||||
(["one"], "+", None, ["+ one"]),
|
||||
(["one"], None, "+", ["+ one"]),
|
||||
])
|
||||
def test_itemize(items, header, bullet, expected_lines):
|
||||
result = itemize(items, header=header, bullet=bullet or "-")
|
||||
@@ -74,9 +86,9 @@ def test_itemize(items, header, bullet, expected_lines):
|
||||
sorted,
|
||||
[
|
||||
"HeaderTest:\n-----------",
|
||||
"medium :True",
|
||||
"medium: True",
|
||||
"very_long_key:3.14",
|
||||
"x :1"
|
||||
"x: 1"
|
||||
]
|
||||
),
|
||||
(
|
||||
@@ -84,7 +96,7 @@ def test_itemize(items, header, bullet, expected_lines):
|
||||
None,
|
||||
None,
|
||||
[
|
||||
"short :None",
|
||||
"short: None",
|
||||
"loooooongkey:[1, 2]"
|
||||
]
|
||||
),
|
||||
@@ -113,12 +125,12 @@ def test_printable_dict_variants_with_alignment(d, header, sorter, expected_line
|
||||
},
|
||||
[
|
||||
format_header("General"),
|
||||
"a :1",
|
||||
"long_key :True",
|
||||
"very_very_long_key :3.14",
|
||||
"a: 1",
|
||||
"long_key: True",
|
||||
"very_very_long_key: 3.14",
|
||||
format_header("MetaInfo"),
|
||||
"short :None",
|
||||
"a_much_longer_key :{'x': 1}"
|
||||
"short: None",
|
||||
"a_much_longer_key: {'x': 1}"
|
||||
]
|
||||
),
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user