Add DataModelUtil creation test

This commit is contained in:
Christophe Bedard 2020-01-01 13:01:43 -05:00
parent 2fee0ced26
commit 8c08cd192e

View file

@ -14,11 +14,15 @@
from datetime import datetime
from datetime import timezone
from typing import Dict
import unittest
from pandas import DataFrame
from pandas.util.testing import assert_frame_equal
from tracetools_analysis.data_model import DataModel
from tracetools_analysis.processor import EventHandler
from tracetools_analysis.processor import EventMetadata
from tracetools_analysis.utils import DataModelUtil
@ -109,6 +113,38 @@ class TestDataModelUtil(unittest.TestCase):
)
assert_frame_equal(input_df, expected_df)
def test_creation(self) -> None:
def handler_whatever(
self, event: Dict, metadata: EventMetadata
) -> None:
pass
handler_map = {'fake': handler_whatever}
data_model = DataModel()
# Should handle the event handler not having any data model
handler_none = EventHandler(
handler_map=handler_map,
)
data_model_util_none = DataModelUtil(handler_none)
self.assertIsNone(data_model_util_none.data)
# Should work when given an event handler with a data model
handler_data = EventHandler(
handler_map=handler_map,
data_model=data_model,
)
data_model_util_data = DataModelUtil(handler_data)
self.assertTrue(data_model_util_data.data is data_model)
# Should work when given a data model directly
handler_data_direct = EventHandler(
handler_map=handler_map,
data_model=data_model,
)
data_model_util_direct = DataModelUtil(handler_data_direct.data)
self.assertTrue(data_model_util_direct.data is data_model)
if __name__ == '__main__':
unittest.main()