From 82d54aec87e1f3f7ec9cf99de6f5402b450e140d Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Mon, 2 Nov 2026 09:43:17 -0500 Subject: [PATCH] fix(post-review): list part-support warnings in the post review PartSupport findings counted toward the headline and the Post Anyway checkbox but had no tile or list group, so an operator saw "1 warning" with nothing to read and was likely to tick through a part that may tip once cut free. A test now fails if any finding kind is left unlisted. Co-Authored-By: Claude Opus 5.5 --- .../Forms/PostVerificationFormTests.cs | 8 ++++++++ OpenNest/Forms/PostVerificationForm.cs | 3 +++ 2 files changed, 11 insertions(+) diff --git a/OpenNest.WinForms.Tests/Forms/PostVerificationFormTests.cs b/OpenNest.WinForms.Tests/Forms/PostVerificationFormTests.cs index 56af6cb9..89f682b9 100644 --- a/OpenNest.WinForms.Tests/Forms/PostVerificationFormTests.cs +++ b/OpenNest.WinForms.Tests/Forms/PostVerificationFormTests.cs @@ -10,6 +10,14 @@ namespace OpenNest.WinForms.Tests.Forms; public class PostVerificationFormTests { #pragma warning disable xUnit1031 // Dedicated STA; only await completed tasks, or explicitly pump until completion. + [Fact] + public void EveryFindingKindIsListed() + { + // A kind left out would raise the warning count with nothing to read. + Assert.Equal(Enum.GetValues().OrderBy(k => k), + PostVerificationForm.ListedKinds.OrderBy(k => k)); + } + [Fact] public void WarningsRequireFreshAcknowledgmentAndUncheckingRevokesPermission() { diff --git a/OpenNest/Forms/PostVerificationForm.cs b/OpenNest/Forms/PostVerificationForm.cs index e437f0f3..6dbe1da8 100644 --- a/OpenNest/Forms/PostVerificationForm.cs +++ b/OpenNest/Forms/PostVerificationForm.cs @@ -28,8 +28,11 @@ public partial class PostVerificationForm : Form (PostVerificationKind.FixedLead, "Fixed leads"), (PostVerificationKind.PierceZone, "Pierce zones"), (PostVerificationKind.PartSpacing, "Part spacing"), + (PostVerificationKind.PartSupport, "Part support"), }; + internal static PostVerificationKind[] ListedKinds => Categories.Select(c => c.Kind).ToArray(); + // Checks every plate always runs, so their tiles show even at zero. private static readonly PostVerificationKind[] CoreChecks = {