38def case_earlier_wins(base_dir: pathlib.Path):
39 """
40 Nested include: earlier wins inside test_merge_mid, local overrides afterward.
41 """
42 top_cfg = _load_yaml(base_dir / "test_merge_top.yaml")
43 merged = _run_merge(top_cfg, base_dir)
44
45
46 _assert(merged["a"] == 2, "Expected 'a' == 2 from override.json")
47
48
49 _assert(merged["nested"]["y"] == 20, "Expected nested.y == 20 from override.json")
50 _assert(merged["nested"]["x"] == 999, "Local override of nested.x should win")
51
52
53 _assert(abs(merged["bar"]["rate"] - 0.1) < 1e-12, "Expected bar.rate from frag_a (0.1)")
54 _assert(merged["foo"]["alpha"] == 1 and merged["foo"]["beta"] == "A",
55 "Expected foo.{alpha,beta} from frag_a")
56
57
58 _assert(merged["bar"]["size"] == 32, "Local bar.size should override frag_a (32 vs 64)")
59
60
61 _assert(merged["local_only"] is True, "Local-only key should remain")
62