public void Enqueue_WithNullEvent_ShouldThrow() { Assert.That(() => { _eventsQueue.Enqueue(null); }, Throws.TypeOf <ArgumentNullException>()); }
/// <summary> /// Initialize events after initialize client /// </summary> /// <typeparam name="TAccount">Specified type of account</typeparam> /// <typeparam name="TSession">Specified type of session</typeparam> /// <param name="superNetCoreSocketClient">Instance of client</param> #region InitializeEvents private static void InitializeEvents <TAccount, TSession>( G9SuperNetCoreSocketClient <TAccount, TSession> superNetCoreSocketClient) where TAccount : AClientAccount <TSession>, new() where TSession : AClientSession, new() { // On connected superNetCoreSocketClient.OnConnected += account => EventsQueue.Enqueue(() => AccessToG9Events4Unity.OnConnectedHandler?.Invoke(account)); // On disconnect superNetCoreSocketClient.OnDisconnected += (account, reason) => EventsQueue.Enqueue(() => AccessToG9Events4Unity.OnDisconnectedHandler?.Invoke(account, reason)); // On error superNetCoreSocketClient.OnError += (error, reason) => EventsQueue.Enqueue(() => AccessToG9Events4Unity.OnErrorHandler?.Invoke(error, reason)); // On reconnect superNetCoreSocketClient.OnReconnect += (account, tryReconnectNumber) => EventsQueue.Enqueue( () => AccessToG9Events4Unity.OnReconnectHandler?.Invoke(account, tryReconnectNumber)); // On unhandled command superNetCoreSocketClient.OnUnhandledCommand += (packet, account) => EventsQueue.Enqueue(() => AccessToG9Events4Unity.OnUnhandledCommand?.Invoke(packet, account)); // On unable to connect superNetCoreSocketClient.OnUnableToConnect += () => EventsQueue.Enqueue(() => AccessToG9Events4Unity.OnUnableToConnect?.Invoke()); }
public void DiscardQueuedEvents_WithQueueName_ShouldClearSpecificQueue() { _eventsQueueNamesServiceMock .Setup(x => x.IsQueueNameExisting(_queueName)) .Returns(true) .Verifiable(); _eventsScopeMock .Setup(x => x.GetOrAddFeature(It.IsAny <Func <IScopedAppServiceProvider, IEventsScopeQueuesFeature> >())) .Returns(_eventsScopeQueuesFeatureMock.Object) .Verifiable(); _eventsScopeQueuesFeatureMock .Setup(x => x.GetOrAddEventsQueue(_eventsContextMock.Object, _queueName)) .Returns(_eventsQueue) .Verifiable(); _eventsQueue.Enqueue(new QueuedPipelineEvent(null)); _eventsQueuesService.DiscardQueuedEvents(_eventsScopeMock.Object, _queueName); Assert.That(_eventsQueue.DequeueAll(), Has.Exactly(0).Items); }