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)); }
private (ITraceableRemoteApiMap, Dictionary <string, SocketTester>) ArrangeRemoteApiMapWithSockets( IApplicationRecorder applicationRecorder, IRecorder recorder, SocketTester socketConnecter, string address) { var sockets = new Dictionary <string, SocketTester>(); var socketListener = new SocketTester("listener"); var socketAccepted = new SocketTester("accepted"); var socketFactory = ArrangeSocketFactoryTraceableRemoteApiMap(socketConnecter, socketListener, socketAccepted, isRemote: true); // RemoteApiMap var instructionReceiverFactory = new TestInstructionReceiverFactory(socketFactory, recorder); var traceableRemoteApiMapFactory = new BaseTraceableRemoteApiMapFactory( instructionReceiverFactory, applicationRecorder); sockets.Add("connecter", socketConnecter); sockets.Add("listener", socketListener); sockets.Add("accepted", socketAccepted); var apiMap = traceableRemoteApiMapFactory.Create(address); return(apiMap, sockets); }