diff options
Diffstat (limited to 'tests/mlia/test_core_data_analysis.py')
-rw-r--r-- | tests/mlia/test_core_data_analysis.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/mlia/test_core_data_analysis.py b/tests/mlia/test_core_data_analysis.py new file mode 100644 index 0000000..a782159 --- /dev/null +++ b/tests/mlia/test_core_data_analysis.py @@ -0,0 +1,31 @@ +# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 +"""Tests for module data_analysis.""" +from dataclasses import dataclass + +from mlia.core.common import DataItem +from mlia.core.data_analysis import Fact +from mlia.core.data_analysis import FactExtractor + + +def test_fact_extractor() -> None: + """Test fact extractor.""" + + @dataclass + class SampleFact(Fact): + """Sample fact.""" + + msg: str + + class SampleExtractor(FactExtractor): + """Sample extractor.""" + + def analyze_data(self, data_item: DataItem) -> None: + self.add_fact(SampleFact(f"Fact for {data_item}")) + + extractor = SampleExtractor() + extractor.analyze_data(42) + extractor.analyze_data("some data") + + facts = extractor.get_analyzed_data() + assert facts == [SampleFact("Fact for 42"), SampleFact("Fact for some data")] |