ShieldPanelCut3Verify.cs stands in for NUnit coverage the same way Cut 1 and Cut 2's probes do (Tests.asmdef cannot see Assembly-CSharp). It builds an envelope/prototype/interceptor rig purely in code and steps ShieldPanel's private Update() by reflection, since Cut 1 removed [ExecuteAlways] and Update() otherwise never runs in edit mode. It needs GPU access, so unlike Cut 1/2's probes it runs without -nographics. Checks: same-frame injection (D17), the gate staying open on the following frame (D20), reuse striking the existing panel and eroding its minimum temper, pool exhaustion holding the cap with no allocation once full, null-guarded Absorb, no rebuild across a pool return/reuse cycle (driven directly via OnEnable/OnDisable reflection, since Object.Instantiate's OnEnable is not synchronous in every context this runs in), and the D21 Penrose/Hex density ratio at radius 1.5/3/5/10. mutation_tests_shield_panel_cut3.py mutates each rule Cut 3 establishes back to its pre-fix or pre-rule shape and asserts the probe goes red naming it, plus a no-op control. Kept separate from _cut1.py/_cut2.py (each owns its own cut's rules) and from mutation_tests.py (the item-provenance cut's headless dotnet runner, no path to a Unity batchmode check). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 lines
60 B
Text
2 lines
60 B
Text
fileFormatVersion: 2
|
|
guid: eb4633f8820c41cba7ed651b672b2696
|