band-aider-pub/tests/band_aider/test_language_strategy_set.py
2026-07-16 18:38:58 -07:00

31 lines
1 KiB
Python

# SPDX-FileCopyrightText: 2026 Art Sea LLC
#
# SPDX-License-Identifier: AGPL-3.0-only
from __future__ import annotations
from band_aider.judgement.code_dependency_graph_maintainer import (
CodeDependencyGraphMaintainer,
)
from tests.band_aider_loop_impl import _file_manager
from band_aider.strategies import LanguageStrategySet
def test_language_strategy_set_singleton_round_trip(tmp_path) -> None:
"""Verify the singleton template can be pinned and materialized."""
file_manager = _file_manager(tmp_path)
strategy_set = LanguageStrategySet(bindings={CodeDependencyGraphMaintainer: object()})
LanguageStrategySet.set_instance(lambda manager, **overrides: strategy_set)
assert LanguageStrategySet.get(file_manager) is strategy_set
def test_language_strategy_set_returns_bound_contract() -> None:
"""Verify contract lookup returns the stored instance."""
strategy = object()
strategy_set = LanguageStrategySet(bindings={CodeDependencyGraphMaintainer: strategy})
assert strategy_set[CodeDependencyGraphMaintainer] is strategy