using System.Drawing; using TerminalGuiFluentTesting; using TerminalGuiFluentTestingXunit; using Xunit.Abstractions; namespace IntegrationTests.FluentTests; /// /// Integration tests for GuiTestContext mouse event handling (LeftClick, RightClick). /// public class GuiTestContextMouseEventTests (ITestOutputHelper outputHelper) { private readonly TextWriter _out = new TestOutputWriter (outputHelper); [Theory] [ClassData (typeof (TestDrivers))] public void EnqueueMouseEvent_Click_RaisesAccepting (TestDriver d) { var clickedCount = 0; var button = new Button { X = 5, Y = 5, Text = "Click Me" }; button.Accepting += (s, e) => clickedCount++; using GuiTestContext context = With.A (40, 10, d, _out) .Add (button) .LeftClick (6, 6) // Click inside button (accounting for Window's border) .AssertEqual (1, clickedCount); } [Theory] [ClassData (typeof (TestDrivers))] public void EnqueueMouseEvent_Click_TView_RaisesAccepting (TestDriver d) { var clickedCount = 0; var button = new Button { X = 5, Y = 5, Text = "Click Me" }; button.Accepting += (s, e) => clickedCount++; using GuiTestContext context = With.A (40, 10, d, _out) .Add (button) .LeftClick