fix(ci): follow the material-marker overlay acceptance test

This commit is contained in:
aj committed 2026-10-15 23:41:57 -04:00
1 parent ee3bc3aabe
commit d028d82f0a
2 files changed
+13 -1

No files matched your search

+12
View File
@@ -2,6 +2,7 @@
import copy
import json
import re
from pathlib import Path
import tempfile
import unittest
@@ -52,6 +53,17 @@ class WindowsAcceptanceTests(unittest.TestCase):
def evaluate(self):
return acceptance.evaluate(self.manifest, self.path)
def test_repository_overlay_manifest_methods_exist_in_the_source(self):
root = Path(__file__).resolve().parents[1]
manifest = json.loads((root / "scripts/windows-acceptance.json").read_text(encoding="utf-8"))
source = (root / "OpenNest.WinForms.Tests/PlateOverlapOverlayTests.cs").read_text(encoding="utf-8-sig")
prefix = "OpenNest.WinForms.Tests.PlateOverlapOverlayTests."
required = {test["method"] for group in manifest["groups"] for test in group["required_tests"]
if test["method"].startswith(prefix)}
declared = {prefix + name for name in re.findall(r"\bpublic\s+(?:async\s+)?(?:void|Task)\s+(\w+)\s*\(", source)}
self.assertTrue(required, "The overlay acceptance mapping must not disappear")
self.assertFalse(required - declared, f"Stale overlay test names: {sorted(required - declared)}")
def test_complete_theory_passes_and_retains_manual_gate(self):
self.write_trx()
report = self.evaluate()
+1 -1
View File
@@ -642,7 +642,7 @@
},
{
"project": "OpenNest.WinForms.Tests",
"method": "OpenNest.WinForms.Tests.PlateOverlapOverlayTests.MarkerAndHoverUsePairMaterialCentroidRatherThanBoundsCenter",
"method": "OpenNest.WinForms.Tests.PlateOverlapOverlayTests.MarkerAndHoverUseThePoleOfTheSharedMaterialRatherThanBoundsCenter",
"minimum_cases": 1
},
{