41 lines
1.2 KiB
Python
41 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]"
|