Add DataModelUtil creation test
This commit is contained in:
parent
2fee0ced26
commit
8c08cd192e
1 changed files with 36 additions and 0 deletions
|
@ -14,11 +14,15 @@
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from datetime import timezone
|
from datetime import timezone
|
||||||
|
from typing import Dict
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from pandas import DataFrame
|
from pandas import DataFrame
|
||||||
from pandas.util.testing import assert_frame_equal
|
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
|
from tracetools_analysis.utils import DataModelUtil
|
||||||
|
|
||||||
|
|
||||||
|
@ -109,6 +113,38 @@ class TestDataModelUtil(unittest.TestCase):
|
||||||
)
|
)
|
||||||
assert_frame_equal(input_df, expected_df)
|
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__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue