Add signature checking

This commit is contained in:
Marty Oehme 2021-12-24 21:52:57 +01:00
parent d525d7c584
commit a825287642
Signed by: Marty
GPG key ID: B7538B8F50A1C800

View file

@ -1,4 +1,5 @@
from habitmove.parser import Parser, NomieParser from habitmove.parser import Parser, NomieParser
from inspect import signature
def test_parser_interface_exists(): def test_parser_interface_exists():
@ -9,11 +10,37 @@ def test_parser_interface_exists():
def test_parser_interface_contains_methods(): def test_parser_interface_contains_methods():
sut = Parser() sut = Parser()
assert sut.__getattribute__("parse") != None assert sut.__getattribute__("parse") != None
assert sut.__getattribute__("load_file") != None
assert sut.__getattribute__("extract_version") != None assert sut.__getattribute__("extract_version") != None
assert sut.__getattribute__("extract_trackers") != None assert sut.__getattribute__("extract_trackers") != None
assert sut.__getattribute__("extract_events") != None assert sut.__getattribute__("extract_events") != None
def test_parser_load_file_returns_parser():
sut = Parser().load_file
assert signature(sut).return_annotation == "Parser"
def test_parser_parse_returns_Import_Data():
sut = Parser().parse
assert signature(sut).return_annotation == "ImportData"
def test_parser_version_returns_String():
sut = Parser().extract_version
assert signature(sut).return_annotation == "str"
def test_parser_extract_trackers_returns_tracker_list():
sut = Parser().extract_trackers
assert signature(sut).return_annotation == "list[Tracker]"
def test_parser_extract_events_returns_event_list():
sut = Parser().extract_events
assert signature(sut).return_annotation == "list[Event]"
def test_nomie_parser_exists(): def test_nomie_parser_exists():
sut = NomieParser() sut = NomieParser()
assert type(sut) == NomieParser assert type(sut) == NomieParser