using RioJoy.Core.Output; using Xunit; namespace RioJoy.Core.Tests.Output; public class SendInputSinkTests { [Fact] public void SendInput_DoesNotThrow_OnMarshalling() { var sink = new SendInputSink(); // A zero relative mouse move is a no-op, but it exercises the same SendInput // INPUT[] marshalling path that previously threw MarshalDirectiveException with // a Span parameter — which killed the serial read thread when a button // with output enabled was pressed. Exception? ex = Record.Exception(() => sink.MouseMove(0, 0)); Assert.Null(ex); } }