From 23a3f9e6206de831c4caa51841d0af9b1427a106 Mon Sep 17 00:00:00 2001 From: Andre Hora Date: Mon, 30 Jan 2023 17:55:20 -0300 Subject: [PATCH] refactoring test_box_substitute: smaller and focused tests are better than large ones --- tests/test_box.py | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/tests/test_box.py b/tests/test_box.py index 9c6a6499..6d02f7b7 100644 --- a/tests/test_box.py +++ b/tests/test_box.py @@ -48,7 +48,26 @@ def test_get_bottom(): assert bottom == "┗━┻━━┻━━━┛" -def test_box_substitute(): +def test_box_substitute_for_same_box(): + options = ConsoleOptions( + ConsoleDimensions(80, 25), + legacy_windows=False, + min_width=1, + max_width=100, + is_terminal=True, + encoding="utf-8", + max_height=25, + ) + + assert ROUNDED.substitute(options) == ROUNDED + assert MINIMAL_HEAVY_HEAD.substitute(options) == MINIMAL_HEAVY_HEAD + assert SIMPLE_HEAVY.substitute(options) == SIMPLE_HEAVY + assert HEAVY.substitute(options) == HEAVY + assert HEAVY_EDGE.substitute(options) == HEAVY_EDGE + assert HEAVY_HEAD.substitute(options) == HEAVY_HEAD + + +def test_box_substitute_for_different_box_legacy_windows(): options = ConsoleOptions( ConsoleDimensions(80, 25), legacy_windows=True, @@ -59,7 +78,6 @@ def test_box_substitute(): max_height=25, ) - # A different Box due to legacy_windows assert ROUNDED.substitute(options) == SQUARE assert MINIMAL_HEAVY_HEAD.substitute(options) == MINIMAL assert SIMPLE_HEAVY.substitute(options) == SIMPLE @@ -67,17 +85,18 @@ def test_box_substitute(): assert HEAVY_EDGE.substitute(options) == SQUARE assert HEAVY_HEAD.substitute(options) == SQUARE - # The same box - options.legacy_windows = False - assert ROUNDED.substitute(options) == ROUNDED - assert MINIMAL_HEAVY_HEAD.substitute(options) == MINIMAL_HEAVY_HEAD - assert SIMPLE_HEAVY.substitute(options) == SIMPLE_HEAVY - assert HEAVY.substitute(options) == HEAVY - assert HEAVY_EDGE.substitute(options) == HEAVY_EDGE - assert HEAVY_HEAD.substitute(options) == HEAVY_HEAD - # A different Box due to ascii encoding - options.encoding = "ascii" +def test_box_substitute_for_different_box_ascii_encoding(): + options = ConsoleOptions( + ConsoleDimensions(80, 25), + legacy_windows=True, + min_width=1, + max_width=100, + is_terminal=True, + encoding="ascii", + max_height=25, + ) + assert ROUNDED.substitute(options) == ASCII assert MINIMAL_HEAVY_HEAD.substitute(options) == ASCII assert SIMPLE_HEAVY.substitute(options) == ASCII