"""PLAN 466 (요구 272 · 분석 4장 (A2)) — 조용한 차례(열 때 · 버린 노선 초안)도 가게 측점 = 상세 측점. 못박는 것 - 조용한 차례 = 묶음 측점을 바로 안 냄 · 열고 맞춤 끝(`opened`) = 가게 측점 · 종단 = 지금 상세 측점 · 그 차례 종단(지난 페이지 초안 측점이 안 남음) · 그 목록으로 갈아끼움 = 없음(같은 목록). - 메아리(같은 묶음 목록) = 안 냄(349-0q) · 새 목록 = 냄 · 그 뒤 opened 는 안 덮음. - 버린 차례 끝(`shown`) = 묶음 측점(초안)과 상세가 달라도 상세 측점 · 열쇠 · 갈아끼움 없음(349-0o) · 노선 초안이 다시 섬 · 상세 없음(떠남) = 안 냄. 짝: `test_272_detail_memory.run_helper`(같은 헬퍼). ./venv/Scripts/python.exe -m pytest resources/tester/test_272_drop_store_stations.py -q """ from __future__ import annotations import sys from pathlib import Path import pytest HERE = Path(__file__).resolve().parent if str(HERE) not in sys.path: sys.path.insert(0, str(HERE)) import test_272_detail_memory as base # noqa: E402 pytestmark = base.pytestmark @pytest.fixture(scope="module") def got(tmp_path_factory) -> dict: return base.run_helper(tmp_path_factory.mktemp("b272d"))["store"] def test_조용히_연_차례_가게_상세_측점(got) -> None: assert got["quietSets"] == 0 assert got["opened"] == [0, 20, 40, 60] assert got["openedStore"] == [0, 20, 40, 60] # 지난 페이지 초안(30) 안 남음 assert got["openedProfile"] == "saved-profile" assert got["openedSwap"] is None # 같은 목록 = 갈아끼움 없음 def test_메아리는_안_내고_새_목록은_냄(got) -> None: assert got["echoSets"] == 0 assert got["newSets"] == 1 assert got["openedAfterPublish"] == [0, 20, 30, 40, 60] # 낸 차례가 더 새로움 — 안 덮음 def test_버린_차례_끝_가게_상세_측점(got) -> None: assert got["dropped"] == [0, 20, 40, 60] and got["droppedDetail"] == [0, 20, 40, 60] assert "pipe:p1" not in got["droppedKeys"] assert got["droppedSwap"] is None def test_초안_다시_섬_떠남은_안_냄(got) -> None: assert got["routeSkip"] == 5 and got["goneSkip"] == 5