import pytest from logimage.domain.value_objects.clue import Clue def test_clue_from_consecutive_cells() -> None: cells = (True, True, False, True, False, False, True, True, True) clue = Clue.from_row(cells) assert clue.values == (2, 1, 3) def test_clue_from_empty_row() -> None: clue = Clue.from_row((False, False, False)) assert clue.values == () def test_clue_from_single_true_cell() -> None: clue = Clue.from_row((False, True, False)) assert clue.values == (1,) def test_clue_from_all_true_row() -> None: clue = Clue.from_row((True, True, True)) assert clue.values == (3,) def test_clue_is_immutable() -> None: clue = Clue.from_row((True, False, True)) with pytest.raises(AttributeError): clue.values = (99,) # type: ignore[misc] def test_clue_trailing_true() -> None: clue = Clue.from_row((False, True, True)) assert clue.values == (2,)