habitmove/tests/test_parser.py

42 lines
1.2 KiB
Python

from habitmove.parser import Parser
from inspect import signature
def test_parser_interface_exists():
sut = Parser()
assert type(sut) == Parser
def test_parser_interface_contains_methods():
sut = Parser()
assert sut.__getattribute__("parse") != None
assert sut.__getattribute__("from_file") != None
assert sut.__getattribute__("extract_version") != None
assert sut.__getattribute__("extract_trackers") != None
assert sut.__getattribute__("extract_events") != None
def test_parser_from_file_returns_parser():
sut = Parser().from_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]"