"""
Tests for utilities/enums.py

Tests cover:
- KnowledgeAccumulationApproach enum
"""


class TestKnowledgeAccumulationApproach:
    """Tests for KnowledgeAccumulationApproach enum."""

    def test_question_value(self):
        """Test QUESTION enum value."""
        from local_deep_research.utilities.enums import (
            KnowledgeAccumulationApproach,
        )

        assert KnowledgeAccumulationApproach.QUESTION.value == "QUESTION"

    def test_iteration_value(self):
        """Test ITERATION enum value."""
        from local_deep_research.utilities.enums import (
            KnowledgeAccumulationApproach,
        )

        assert KnowledgeAccumulationApproach.ITERATION.value == "ITERATION"

    def test_no_knowledge_value(self):
        """Test NO_KNOWLEDGE enum value."""
        from local_deep_research.utilities.enums import (
            KnowledgeAccumulationApproach,
        )

        assert (
            KnowledgeAccumulationApproach.NO_KNOWLEDGE.value == "NO_KNOWLEDGE"
        )

    def test_max_nr_of_characters_value(self):
        """Test MAX_NR_OF_CHARACTERS enum value."""
        from local_deep_research.utilities.enums import (
            KnowledgeAccumulationApproach,
        )

        assert (
            KnowledgeAccumulationApproach.MAX_NR_OF_CHARACTERS.value
            == "MAX_NR_OF_CHARACTERS"
        )

    def test_all_values_exist(self):
        """Test all expected values exist in enum."""
        from local_deep_research.utilities.enums import (
            KnowledgeAccumulationApproach,
        )

        assert len(KnowledgeAccumulationApproach) == 4

    def test_search_mode_enum_removed(self):
        """SearchMode was removed along with the parallel meta engines —
        guard against it reappearing."""
        import local_deep_research.utilities.enums as enums

        assert not hasattr(enums, "SearchMode")
