using System.Reflection; using System.Security.Cryptography; using System.Windows.Forms; using OpenNest.Data; using OpenNest.Forms; using OpenNest.IO; using OpenNest.Shapes; using OpenNest.Tests.Data; using IReleaseNestingHost = OpenNest.Controls.IReleaseNestingHost; using ReleasePanel = OpenNest.Controls.ReleasePanel; namespace OpenNest.WinForms.Tests.Forms; public class SetReleaseFormsTests { private const string Server = "http://library.test:8090"; private static readonly TimeSpan TestTimeout = TimeSpan.FromSeconds(60); [Fact] public void MakeNests_CreatesOneDraftNestPerTickedGroup_OpensEach_AndRecordsTheRelease() { StaTestThread.Run( () => { var library = new PackageLibrary(); var a = library.Add("SYN-A", "Synthetic Steel"); var b = library.Add("SYN-B", "Synthetic Steel"); var c = library.Add("SYN-C", "Synthetic Aluminum"); var old = library.Add("SYN-OLD", "Synthetic Steel", archived: true); var sets = new InMemoryDrawingSets(); var set = CreateSet(sets, (a, 2), (b, 1), (c, 4), (old, 1)); var nests = new MemoryNests(); var opened = new List<(Nest Nest, NestRecord Record)>(); var nestsOpened = 0; var (host, panel) = ShowPanel(sets, library, nests, (nest, record) => opened.Add((nest, record))); using var _ = host; panel.NestsOpened += (_, _) => nestsOpened++; var grid = Field(panel, "groupGrid"); var release = Field