From a42ea1cd69fcf3f6c1b2ff79871cd00f24b95118 Mon Sep 17 00:00:00 2001 From: tassaron Date: Fri, 22 Apr 2022 17:10:35 -0400 Subject: add commandline option for tests. add first tests --- src/tests/__init__.py | 32 ++++++++++++++++++++++++++++++++ src/tests/data/test.jpg | Bin 0 -> 48766 bytes src/tests/data/test.ogg | Bin 0 -> 30043 bytes src/tests/data/test.png | Bin 0 -> 220 bytes src/tests/test_core_init.py | 19 +++++++++++++++++++ src/tests/test_export_classic.py | 5 +++++ 6 files changed, 56 insertions(+) create mode 100644 src/tests/__init__.py create mode 100644 src/tests/data/test.jpg create mode 100644 src/tests/data/test.ogg create mode 100644 src/tests/data/test.png create mode 100644 src/tests/test_core_init.py create mode 100644 src/tests/test_export_classic.py (limited to 'src/tests') diff --git a/src/tests/__init__.py b/src/tests/__init__.py new file mode 100644 index 0000000..f2b2ff1 --- /dev/null +++ b/src/tests/__init__.py @@ -0,0 +1,32 @@ +import pytest +import os +import sys +from ..core import Core +from ..command import Command + + +@pytest.fixture +def core(): + return Core() + + +@pytest.fixture +def command(): + """Like a MainWindow for commandline mode, this owns the Core""" + return Command() + + +def run(logFile): + """Run Pytest, which then imports and runs all tests in this module.""" + with open(logFile, "w") as f: + # temporarily redirect stdout to a text file so we capture pytest's output + sys.stdout = f + try: + val = pytest.main([ + os.path.dirname(__file__), + "-s", # disable pytest's internal capturing of stdout etc. + ]) + finally: + sys.stdout = sys.__stdout__ + + return val diff --git a/src/tests/data/test.jpg b/src/tests/data/test.jpg new file mode 100644 index 0000000..86266d9 Binary files /dev/null and b/src/tests/data/test.jpg differ diff --git a/src/tests/data/test.ogg b/src/tests/data/test.ogg new file mode 100644 index 0000000..46af76c Binary files /dev/null and b/src/tests/data/test.ogg differ diff --git a/src/tests/data/test.png b/src/tests/data/test.png new file mode 100644 index 0000000..f1ffd4a Binary files /dev/null and b/src/tests/data/test.png differ diff --git a/src/tests/test_core_init.py b/src/tests/test_core_init.py new file mode 100644 index 0000000..696533a --- /dev/null +++ b/src/tests/test_core_init.py @@ -0,0 +1,19 @@ +from .__init__ import core + + +def test_component_names(core): + assert core.compNames == [ + 'Classic Visualizer', + 'Color', + "Conway's Game of Life", + 'Image', + 'Sound', + 'Spectrum', + 'Title Text', + 'Video', + 'Waveform', + ] + + +def test_moduleindex(core): + assert core.moduleIndexFor("Classic Visualizer") == 0 diff --git a/src/tests/test_export_classic.py b/src/tests/test_export_classic.py new file mode 100644 index 0000000..a6d3e8c --- /dev/null +++ b/src/tests/test_export_classic.py @@ -0,0 +1,5 @@ +from .__init__ import command + + +def test_export_classic_visualizer_default(command): + assert command -- cgit v1.2.3