aboutsummaryrefslogtreecommitdiff
path: root/tests/mlia/test_core_advisor.py
blob: 375ff62cb7b2c1fb22028ecfdd4bfd4d332617f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates.
# SPDX-License-Identifier: Apache-2.0
"""Tests for module advisor."""
from unittest.mock import MagicMock

from mlia.core.advisor import InferenceAdvisor
from mlia.core.context import Context
from mlia.core.workflow import WorkflowExecutor


def test_inference_advisor_run() -> None:
    """Test running sample inference advisor."""
    executor_mock = MagicMock(spec=WorkflowExecutor)
    context_mock = MagicMock(spec=Context)

    class SampleAdvisor(InferenceAdvisor):
        """Sample inference advisor."""

        @classmethod
        def name(cls) -> str:
            """Return name of the advisor."""
            return "sample_advisor"

        @classmethod
        def description(cls) -> str:
            """Return description of the advisor."""
            return "Sample advisor"

        @classmethod
        def info(cls) -> None:
            """Print advisor info."""

        def configure(self, context: Context) -> WorkflowExecutor:
            """Configure advisor."""
            return executor_mock

    advisor = SampleAdvisor()
    advisor.run(context_mock)

    executor_mock.run.assert_called_once()