"""Tests for <feature description>."""
import pytest
from unittest.mock import MagicMock, patch
from src.module import FeatureClass
# ---------------------------------------------------------------------------
# Fixtures
# ---------------------------------------------------------------------------
@pytest.fixture
def mock_config():
"""Provide a minimal config mock."""
config = MagicMock()
config.some_value = "test"
return config
@pytest.fixture
def feature_instance(mock_config):
"""Create a FeatureClass instance with mocked dependencies."""
with patch("src.module.dependency", return_value=mock_config):
return FeatureClass()
# ---------------------------------------------------------------------------
# Test Class: Initialization
# ---------------------------------------------------------------------------
class TestFeatureInit:
def test_default_params(self, feature_instance):
assert feature_instance.param is None
def test_custom_params(self):
instance = FeatureClass(param="custom")
assert instance.param == "custom"
# ---------------------------------------------------------------------------
# Test Class: Core Functionality
# ---------------------------------------------------------------------------
class TestFeatureFunctionality:
def test_basic_operation(self, feature_instance):
result = feature_instance.do_something()
assert result == "expected"
def test_error_handling(self, feature_instance):
with pytest.raises(ValueError, match="error message"):
feature_instance.do_invalid_thing()