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 DrawingSetBrowser = OpenNest.Controls.DrawingSetBrowser; 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 Release_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 questions = new List(); using var form = new ReleaseSetForm(sets, library, nests, Server, set, (nest, record) => opened.Add((nest, record))); form.ShowMessage = (text, _, _) => { questions.Add(text); return DialogResult.OK; }; var created = 0; form.CreateNest = (group, _) => Task.FromResult(new Nest($"N26-{++created:D4}") { Units = group.Units }); form.Show(); var grid = Field(form, "groupGrid"); var skipped = Field