@@ -188,86 +188,5 @@ public void ConvertArgThrowsForInvalidType()
188188 MonitorEvent monitorEvent = new MonitorEvent ( SocketEvents . All , addr : "" , arg : socket ! ) ;
189189 Assert . Throws < ArgumentException > ( ( ) => monitorEvent . ConvertArg < int > ( ) ) ;
190190 }
191-
192- [ Fact ]
193- public void INetMQMonitorCanBeMocked ( )
194- {
195- // This test demonstrates that INetMQMonitor can be mocked for testing
196- var mockMonitor = new MockNetMQMonitor ( ) ;
197-
198- // Verify the mock implements the interface
199- INetMQMonitor monitor = mockMonitor ;
200-
201- Assert . NotNull ( monitor ) ;
202- Assert . Equal ( "mock://endpoint" , monitor . Endpoint ) ;
203- Assert . False ( monitor . IsRunning ) ;
204-
205- // Verify we can subscribe to events
206- var eventReceived = false ;
207- monitor . EventReceived += ( s , e ) => { eventReceived = true ; } ;
208-
209- // Trigger the event
210- mockMonitor . RaiseEventReceived ( ) ;
211-
212- Assert . True ( eventReceived ) ;
213- }
214-
215- // Simple mock implementation to demonstrate INetMQMonitor is mockable
216- private class MockNetMQMonitor : INetMQMonitor
217- {
218- public string Endpoint => "mock://endpoint" ;
219- public bool IsRunning { get ; private set ; }
220- public TimeSpan Timeout { get ; set ; }
221-
222- public event EventHandler < NetMQMonitorEventArgs > ? EventReceived ;
223- #pragma warning disable CS0067 // Event is never used - these are part of the interface contract
224- public event EventHandler < NetMQMonitorSocketEventArgs > ? Connected ;
225- public event EventHandler < NetMQMonitorErrorEventArgs > ? ConnectDelayed ;
226- public event EventHandler < NetMQMonitorIntervalEventArgs > ? ConnectRetried ;
227- public event EventHandler < NetMQMonitorSocketEventArgs > ? Listening ;
228- public event EventHandler < NetMQMonitorErrorEventArgs > ? BindFailed ;
229- public event EventHandler < NetMQMonitorSocketEventArgs > ? Accepted ;
230- public event EventHandler < NetMQMonitorErrorEventArgs > ? AcceptFailed ;
231- public event EventHandler < NetMQMonitorSocketEventArgs > ? Closed ;
232- public event EventHandler < NetMQMonitorErrorEventArgs > ? CloseFailed ;
233- public event EventHandler < NetMQMonitorSocketEventArgs > ? Disconnected ;
234- #pragma warning restore CS0067
235-
236- public void AttachToPoller < T > ( T poller ) where T : INetMQPoller
237- {
238- IsRunning = true ;
239- }
240-
241- public void DetachFromPoller ( )
242- {
243- IsRunning = false ;
244- }
245-
246- public void Start ( )
247- {
248- IsRunning = true ;
249- }
250-
251- public Task StartAsync ( )
252- {
253- IsRunning = true ;
254- return Task . CompletedTask ;
255- }
256-
257- public void Stop ( )
258- {
259- IsRunning = false ;
260- }
261-
262- public void Dispose ( )
263- {
264- IsRunning = false ;
265- }
266-
267- public void RaiseEventReceived ( )
268- {
269- EventReceived ? . Invoke ( this , new NetMQMonitorSocketEventArgs ( null ! , "test" , null ! , SocketEvents . Connected ) ) ;
270- }
271- }
272191 }
273192}
0 commit comments