using System.Windows.Forms; using OpenNest.Forms; using OpenNest.Shapes; namespace OpenNest.WinForms.Tests.Forms; /// The plate list names each coded plate's inventory item, with its ledger location when known. public class EditNestPlateStockTooltipTests { [Fact] public void CodedPlateShowsItsStockInThePlateListTooltip() => RunSta(() => { var nest = new Nest("stock tooltip"); var drawing = new RectangleShape { Name = "SYN", Length = 4, Width = 2 }.GetDrawing(); nest.Drawings.Add(drawing); var plate = nest.CreatePlate(); plate.Parts.Add(new Part(drawing)); plate.StockItemCodes = ["DROP-1182"]; using var form = new EditNestForm(nest); form.PlateView.SetOverlapAutoCheck(null); form.LedgerLocations["DROP-1182"] = "B3"; form.UpdatePlateList(); var plates = Assert.IsType(Assert.Single(form.Controls.Find("platesListView", true))); Assert.True(plates.ShowItemToolTips); Assert.Equal("Stock: DROP-1182 (B3)", plates.Items[0].ToolTipText); Assert.Equal("", plates.Items[^1].ToolTipText); }); private static void RunSta(System.Action testBody) => StaTestThread.Run(testBody, TimeSpan.FromSeconds(60), "The stock tooltip STA test did not complete."); }