From a8252876423be45a089d5b43d3b5b899e512f56c Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Fri, 24 Dec 2021 21:52:57 +0100 Subject: [PATCH] Add signature checking --- tests/test_parser.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tests/test_parser.py b/tests/test_parser.py index 55cef76..a9f52b2 100644 --- a/tests/test_parser.py +++ b/tests/test_parser.py @@ -1,4 +1,5 @@ from habitmove.parser import Parser, NomieParser +from inspect import signature def test_parser_interface_exists(): @@ -9,11 +10,37 @@ def test_parser_interface_exists(): def test_parser_interface_contains_methods(): sut = Parser() assert sut.__getattribute__("parse") != None + assert sut.__getattribute__("load_file") != None assert sut.__getattribute__("extract_version") != None assert sut.__getattribute__("extract_trackers") != 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(): sut = NomieParser() assert type(sut) == NomieParser