diff --git a/modules/10-basics/10-hello-world/test_solution.py b/modules/10-basics/10-hello-world/test_solution.py index 725b9031..910d843c 100644 --- a/modules/10-basics/10-hello-world/test_solution.py +++ b/modules/10-basics/10-hello-world/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "Hello, World!" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/10-basics/30-instructions/test_solution.py b/modules/10-basics/30-instructions/test_solution.py index 784c8277..3c2803a9 100644 --- a/modules/10-basics/30-instructions/test_solution.py +++ b/modules/10-basics/30-instructions/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "Заказ №1337\nСтатус: доставляется\nПримерный срок: 2 дня" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/10-basics/40-testing/test_solution.py b/modules/10-basics/40-testing/test_solution.py index 2e8d2446..45b47219 100644 --- a/modules/10-basics/40-testing/test_solution.py +++ b/modules/10-basics/40-testing/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "10" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/10-basics/50-syntax-errors/test_solution.py b/modules/10-basics/50-syntax-errors/test_solution.py index db0315d0..22e7cb98 100644 --- a/modules/10-basics/50-syntax-errors/test_solution.py +++ b/modules/10-basics/50-syntax-errors/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "Программа успешно запущена" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/20-arithmetics/20-basic/test_solution.py b/modules/20-arithmetics/20-basic/test_solution.py index 3ea326fb..c2f4491d 100644 --- a/modules/20-arithmetics/20-basic/test_solution.py +++ b/modules/20-arithmetics/20-basic/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "9.0" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/20-arithmetics/25-operator/test_solution.py b/modules/20-arithmetics/25-operator/test_solution.py index e70ccf60..08adb61d 100644 --- a/modules/20-arithmetics/25-operator/test_solution.py +++ b/modules/20-arithmetics/25-operator/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "87\n29.0" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/20-arithmetics/27-commutativity/test_solution.py b/modules/20-arithmetics/27-commutativity/test_solution.py index 0cbe706e..4e8db043 100644 --- a/modules/20-arithmetics/27-commutativity/test_solution.py +++ b/modules/20-arithmetics/27-commutativity/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "256\n3.0" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/20-arithmetics/30-composition/test_solution.py b/modules/20-arithmetics/30-composition/test_solution.py index 3c230772..ebdc9b92 100644 --- a/modules/20-arithmetics/30-composition/test_solution.py +++ b/modules/20-arithmetics/30-composition/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "660" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/20-arithmetics/40-priority/test_solution.py b/modules/20-arithmetics/40-priority/test_solution.py index 7662d769..01377ddd 100644 --- a/modules/20-arithmetics/40-priority/test_solution.py +++ b/modules/20-arithmetics/40-priority/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "160.0" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/20-arithmetics/43-float/test_solution.py b/modules/20-arithmetics/43-float/test_solution.py index 890bd8ab..198ece18 100644 --- a/modules/20-arithmetics/43-float/test_solution.py +++ b/modules/20-arithmetics/43-float/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "0.30000000000000004" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/20-arithmetics/45-linting/test_solution.py b/modules/20-arithmetics/45-linting/test_solution.py index 320b4f2e..306f9f72 100644 --- a/modules/20-arithmetics/45-linting/test_solution.py +++ b/modules/20-arithmetics/45-linting/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "4" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/25-strings/10-quotes/test_solution.py b/modules/25-strings/10-quotes/test_solution.py index 3d2cc293..be5b1c72 100644 --- a/modules/25-strings/10-quotes/test_solution.py +++ b/modules/25-strings/10-quotes/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = 'The file "user\'s_config.json" was not found.' - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/25-strings/15-escape-characters/test_solution.py b/modules/25-strings/15-escape-characters/test_solution.py index cdff2c9d..9e5bd47e 100644 --- a/modules/25-strings/15-escape-characters/test_solution.py +++ b/modules/25-strings/15-escape-characters/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = 'Для разделения строк используйте "\\n"\nПример: print("строка1\\nстрока2")' - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/25-strings/20-string-concatenation/test_solution.py b/modules/25-strings/20-string-concatenation/test_solution.py index 6c7a1177..17d5204e 100644 --- a/modules/25-strings/20-string-concatenation/test_solution.py +++ b/modules/25-strings/20-string-concatenation/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "https://github.com/hexlet/exercises-python" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/25-strings/30-encoding/test_solution.py b/modules/25-strings/30-encoding/test_solution.py index ef060401..7adec5f3 100644 --- a/modules/25-strings/30-encoding/test_solution.py +++ b/modules/25-strings/30-encoding/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "~\n^\n%" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/30-variables/10-definition/test_solution.py b/modules/30-variables/10-definition/test_solution.py index 05d469e2..bde21154 100644 --- a/modules/30-variables/10-definition/test_solution.py +++ b/modules/30-variables/10-definition/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "https://hexlet.io\nhttps://hexlet.io" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/30-variables/12-change/test_solution.py b/modules/30-variables/12-change/test_solution.py index dd536185..c4b5b337 100644 --- a/modules/30-variables/12-change/test_solution.py +++ b/modules/30-variables/12-change/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "доставлен" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/30-variables/13-variables-naming/test_solution.py b/modules/30-variables/13-variables-naming/test_solution.py index 1c50706e..872ca98f 100644 --- a/modules/30-variables/13-variables-naming/test_solution.py +++ b/modules/30-variables/13-variables-naming/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "2" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/30-variables/15-variables-expressions/test_solution.py b/modules/30-variables/15-variables-expressions/test_solution.py index db023cf4..0222e0c3 100644 --- a/modules/30-variables/15-variables-expressions/test_solution.py +++ b/modules/30-variables/15-variables-expressions/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "125.0\n863.75" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/30-variables/18-variable-concatenation/test_solution.py b/modules/30-variables/18-variable-concatenation/test_solution.py index b8e5cf5f..16485df3 100644 --- a/modules/30-variables/18-variable-concatenation/test_solution.py +++ b/modules/30-variables/18-variable-concatenation/test_solution.py @@ -1,10 +1,20 @@ -import runpy +import importlib def test(capsys): expected = """Здравствуйте, Анна! Спасибо за ваш заказ. Ожидаемая дата доставки — 3 рабочих дня.""" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/30-variables/19-naming-style/test_solution.py b/modules/30-variables/19-naming-style/test_solution.py index 3f99d0db..a5025111 100644 --- a/modules/30-variables/19-naming-style/test_solution.py +++ b/modules/30-variables/19-naming-style/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "2000" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/30-variables/20-magic-numbers/test_solution.py b/modules/30-variables/20-magic-numbers/test_solution.py index 4c6a469c..505af438 100644 --- a/modules/30-variables/20-magic-numbers/test_solution.py +++ b/modules/30-variables/20-magic-numbers/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "Ящиков на складе:\n102" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/31-advanced-strings/25-interpolation/test_solution.py b/modules/31-advanced-strings/25-interpolation/test_solution.py index 7708e146..f2a4c6de 100644 --- a/modules/31-advanced-strings/25-interpolation/test_solution.py +++ b/modules/31-advanced-strings/25-interpolation/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "Здравствуйте, Анна! Ваш заказ #1337 принят." - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/31-advanced-strings/30-symbols/test_solution.py b/modules/31-advanced-strings/30-symbols/test_solution.py index f3641ed2..47aceaef 100644 --- a/modules/31-advanced-strings/30-symbols/test_solution.py +++ b/modules/31-advanced-strings/30-symbols/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "grip" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/31-advanced-strings/70-slices/test_solution.py b/modules/31-advanced-strings/70-slices/test_solution.py index 672361d6..8e5106f5 100644 --- a/modules/31-advanced-strings/70-slices/test_solution.py +++ b/modules/31-advanced-strings/70-slices/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "hexlet.io" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/31-advanced-strings/90-multiline-strings/test_solution.py b/modules/31-advanced-strings/90-multiline-strings/test_solution.py index 09b2b5b6..a9d44b84 100644 --- a/modules/31-advanced-strings/90-multiline-strings/test_solution.py +++ b/modules/31-advanced-strings/90-multiline-strings/test_solution.py @@ -1,4 +1,4 @@ -import runpy +import importlib def test(capsys): @@ -6,6 +6,16 @@ def test(capsys): Ваш заказ успешно оформлен. Ожидаемая дата доставки: 3-5 рабочих дней. Спасибо, что выбрали нас!""" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/33-data-types/40-primitive-data-types/test_solution.py b/modules/33-data-types/40-primitive-data-types/test_solution.py index 962ca477..70ab3e0c 100644 --- a/modules/33-data-types/40-primitive-data-types/test_solution.py +++ b/modules/33-data-types/40-primitive-data-types/test_solution.py @@ -1,4 +1,4 @@ -import runpy +import importlib def test(capsys): @@ -6,6 +6,16 @@ def test(capsys): Birth year: 1994 Age: 32 Rating: 4.7""" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/33-data-types/45-tuples/test_solution.py b/modules/33-data-types/45-tuples/test_solution.py index d0bf80c6..dfe0b75f 100644 --- a/modules/33-data-types/45-tuples/test_solution.py +++ b/modules/33-data-types/45-tuples/test_solution.py @@ -1,11 +1,20 @@ -import runpy +import importlib def test(capsys): expected = """From: Moscow To: Saint Petersburg Distance: 634 km""" + expect_output(capsys, expected) - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/33-data-types/50-strong-typing/test_solution.py b/modules/33-data-types/50-strong-typing/test_solution.py index acc519c8..3ce339f9 100644 --- a/modules/33-data-types/50-strong-typing/test_solution.py +++ b/modules/33-data-types/50-strong-typing/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "13" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/33-data-types/52-data-types-immutability/test_solution.py b/modules/33-data-types/52-data-types-immutability/test_solution.py index a32aa536..e1f48a7b 100644 --- a/modules/33-data-types/52-data-types-immutability/test_solution.py +++ b/modules/33-data-types/52-data-types-immutability/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "print" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/33-data-types/55-data-types-casting/test_solution.py b/modules/33-data-types/55-data-types-casting/test_solution.py index c5a4a923..9c8a1c6c 100644 --- a/modules/33-data-types/55-data-types-casting/test_solution.py +++ b/modules/33-data-types/55-data-types-casting/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "36 °C" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/35-calling-functions/100-call/test_solution.py b/modules/35-calling-functions/100-call/test_solution.py index 05acb20c..dac14dd1 100644 --- a/modules/35-calling-functions/100-call/test_solution.py +++ b/modules/35-calling-functions/100-call/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "12" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/35-calling-functions/135-calling-functions-default-params/test_solution.py b/modules/35-calling-functions/135-calling-functions-default-params/test_solution.py index 9efb5122..2597a7e3 100644 --- a/modules/35-calling-functions/135-calling-functions-default-params/test_solution.py +++ b/modules/35-calling-functions/135-calling-functions-default-params/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "37.8\n2426.76\n607" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/35-calling-functions/150-calling-functions-expression/test_solution.py b/modules/35-calling-functions/150-calling-functions-expression/test_solution.py index 5bbe4eab..93f8a7d4 100644 --- a/modules/35-calling-functions/150-calling-functions-expression/test_solution.py +++ b/modules/35-calling-functions/150-calling-functions-expression/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "First: H\nLast: !" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/35-calling-functions/180-variadic-parameters/test_solution.py b/modules/35-calling-functions/180-variadic-parameters/test_solution.py index e2a4f846..8423df89 100644 --- a/modules/35-calling-functions/180-variadic-parameters/test_solution.py +++ b/modules/35-calling-functions/180-variadic-parameters/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "-3" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/35-calling-functions/270-deterministic/test_solution.py b/modules/35-calling-functions/270-deterministic/test_solution.py index 3f3a66a0..35df2049 100644 --- a/modules/35-calling-functions/270-deterministic/test_solution.py +++ b/modules/35-calling-functions/270-deterministic/test_solution.py @@ -1,4 +1,4 @@ -import runpy +import importlib def check(output): @@ -9,6 +9,11 @@ def check(output): def test(capsys): - runpy.run_module('solution') + importlib.import_module('solution') out, _ = capsys.readouterr() - check(out.strip()) + + with capsys.disabled(): + print('\n') + print(out) + + check(out.strip('\n')) diff --git a/modules/38-objects/100-objects/test_solution.py b/modules/38-objects/100-objects/test_solution.py index 65369a8b..cd4570ff 100644 --- a/modules/38-objects/100-objects/test_solution.py +++ b/modules/38-objects/100-objects/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "the quick brown fox jumps over the lazy dog" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/38-objects/200-methods-immutability/test_solution.py b/modules/38-objects/200-methods-immutability/test_solution.py index a3068beb..ebcf3618 100644 --- a/modules/38-objects/200-methods-immutability/test_solution.py +++ b/modules/38-objects/200-methods-immutability/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "Grigor" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/38-objects/500-method-chain/test_solution.py b/modules/38-objects/500-method-chain/test_solution.py index b2549220..0e9455fd 100644 --- a/modules/38-objects/500-method-chain/test_solution.py +++ b/modules/38-objects/500-method-chain/test_solution.py @@ -1,8 +1,18 @@ -import runpy +import importlib def test(capsys): expected = "7" - runpy.run_module('solution') - out, _ = capsys.readouterr() - assert out.strip() == expected + expect_output(capsys, expected) + + +def expect_output(capsys, expected): + importlib.import_module('solution') + out, _err = capsys.readouterr() + actual = out.strip('\n') + + with capsys.disabled(): + print('\n') + print(out) + + assert actual == expected diff --git a/modules/40-define-functions/100-define-function/test_solution.py b/modules/40-define-functions/100-define-function/test_solution.py index 42f4f15c..bce214d0 100644 --- a/modules/40-define-functions/100-define-function/test_solution.py +++ b/modules/40-define-functions/100-define-function/test_solution.py @@ -2,7 +2,12 @@ def test(capsys): - solution.say_hello() expected = "Hello, World!" + solution.say_hello() out, _ = capsys.readouterr() - assert out.strip() == expected + + with capsys.disabled(): + print('\n') + print(out) + + assert out.strip('\n') == expected diff --git a/modules/50-loops/10-while/test_solution.py b/modules/50-loops/10-while/test_solution.py index 405950fc..a03a2739 100644 --- a/modules/50-loops/10-while/test_solution.py +++ b/modules/50-loops/10-while/test_solution.py @@ -4,10 +4,20 @@ def test1(capsys): solution.print_countdown(2) out, _ = capsys.readouterr() - assert out.strip() == "2\n1\nGo!" + + with capsys.disabled(): + print('\n') + print(out) + + assert out.strip('\n') == "2\n1\nGo!" def test2(capsys): solution.print_countdown(4) out, _ = capsys.readouterr() - assert out.strip() == "4\n3\n2\n1\nGo!" + + with capsys.disabled(): + print('\n') + print(out) + + assert out.strip('\n') == "4\n3\n2\n1\nGo!"