Pokemon-Terminal/test_scripter.py

31 lines
1.1 KiB
Python

#!/usr/bin/env python3
# To run use python3 -m pytest --capture=sys
from adapter import available_terminals, base
import os
def test_available_terminals():
assert available_terminals, 'No available_terminals found.'
terminal_names = [terminal.__name__ for terminal in available_terminals]
non_terminals = ['NullAdapter', '__init__']
assert all(terminal not in terminal_names for terminal in non_terminals)
script_dir = os.path.dirname(os.path.realpath(__file__))
terminals_dir = os.path.join(script_dir, 'adapter', 'implementations')
assert os.path.isdir(terminals_dir), 'Not found: ' + terminals_dir
for filename in os.listdir(terminals_dir):
terminal, ext = os.path.splitext(filename)
if ext.lower() == '.py':
assert terminal in (terminal_names + non_terminals), terminal
def test_adapter_methods():
for terminal in available_terminals + [base.TerminalAdapterInterface]:
assert callable(terminal.clear)
assert callable(terminal.is_available)
assert callable(terminal.set_image_file_path)
if __name__ == '__main__':
test_available_terminals()