private IApiOperator CreateLocalOperator( Func <AddressFamily, SocketType, ProtocolType, ISocket> socketFactory, IRecorder recorder, IRemoteTraceMonitorСonsistent remoteTraceMonitor = default, string address = "111.111.111.111:11111") { if (remoteTraceMonitor == default) { remoteTraceMonitor = Mock.Create <IRemoteTraceMonitorСonsistent>(); } // MonitoredRemoteOperator var instructionSenderFactory = new TestInstructionSenderFactory(socketFactory, recorder); var monitoredRemoteOperatorFactory = new BaseMonitoredRemoteOperatorFactory( instructionSenderFactory, remoteTraceMonitor, recorder); // RemoteApiMap var instructionReceiverFactory = new TestInstructionReceiverFactory(socketFactory, recorder); var traceableRemoteApiMapFactory = new BaseTraceableRemoteApiMapFactory( instructionReceiverFactory, _applicationRecorder); var apiOperatorFactory = new ApiOperatorFactory(monitoredRemoteOperatorFactory, traceableRemoteApiMapFactory, _applicationRecorder); return(apiOperatorFactory.Create(address)); }
public BaseMonitoredRemoteOperatorFactory( IInstructionSenderFactory instructionSenderFactory, IRemoteTraceMonitorСonsistent remoteTraceMonitor, IApplicationRecorder applicationRecorder, IRecorder recorder) { _instructionSenderFactory = instructionSenderFactory; _remoteTraceMonitor = remoteTraceMonitor; _applicationRecorder = applicationRecorder; _recorder = recorder; }
public MonitoredRemoteOperator( IAutoLocalConnector autoLocalConnector, IRemoteTraceMonitorСonsistent remoteTraceMonitorСonsistent, IRecorder recorder) { _autoLocalConnector = autoLocalConnector; _remoteTraceMonitorСonsistent = remoteTraceMonitorСonsistent; _recorder = recorder; _autoLocalConnector.TextReceived += TextReceivedHandler; _autoLocalConnector.Connected += ConnectedHandler; _remoteTraceMonitorСonsistent.CommandReceived += TextEnteredHandler; }
public void CommandReceived_WhenTextEnteredCalled_ShouldRaiseСonsistent() { dynamic resultCache = new ExpandoObject(); var beforeTask = new TaskCompletionSource <bool>(); var afterTask = new TaskCompletionSource <bool>(); var commandReceivedTimes = 0; var lastCommandReceivedValue = string.Empty; async Task <bool> CommandReceivedHandler(string command) { beforeTask.SetResult(true); lastCommandReceivedValue = command; commandReceivedTimes++; await Task.Delay(300); afterTask.SetResult(true); return(true); } _sut = new RemoteTraceMonitorСonsistent(_remoteTraceMonitor); _sut.CommandReceived += CommandReceivedHandler; Mock.Raise(() => _remoteTraceMonitor.TextEntered += null, "capacity1"); Mock.Raise(() => _remoteTraceMonitor.TextEntered += null, "capacity2"); beforeTask.Task.Wait(); resultCache.commandReceived1 = lastCommandReceivedValue; resultCache.commandReceivedTimes1 = commandReceivedTimes; afterTask.Task.Wait(); beforeTask = new TaskCompletionSource <bool>(); afterTask = new TaskCompletionSource <bool>(); beforeTask.Task.Wait(); resultCache.commandReceived2 = lastCommandReceivedValue; resultCache.commandReceivedTimes2 = commandReceivedTimes; afterTask.Task.Wait(); Assert.Equal(1, resultCache.commandReceivedTimes1); Assert.Equal("capacity1", resultCache.commandReceived1); Assert.Equal(2, resultCache.commandReceivedTimes2); Assert.Equal("capacity2", resultCache.commandReceived2); }
public MonitoredRemoteOperatorTests() { _autoLocalConnector = Mock.Create <IAutoLocalConnector>(); _remoteTraceMonitor = Mock.Create <IRemoteTraceMonitorСonsistent>(); _recorder = Mock.Create <IRecorder>(); }