Update tests/test_utils_printing.py
Run CI Tests / test (push) Successful in 36s

This commit is contained in:
2025-07-29 19:09:14 +02:00
parent c46be748f7
commit c415a4537a
+27 -15
View File
@@ -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}"
]
),
])