public void UnsubscribeStopsEachTheOrderListener() { // Arrange var mockOrderListener = MockRepository.GenerateMock<IStreamingListener<OrderDTO>>(); var mockOrderListener2 = MockRepository.GenerateMock<IStreamingListener<OrderDTO>>(); _mockLsStreamingClientAccountConnection.Expect(x => x.BuildOrderListener(Arg<string>.Is.Anything)) .Return(mockOrderListener) .Repeat.Once(); _mockLsStreamingClientAccountConnection.Expect(x => x.BuildOrderListener(Arg<string>.Is.Anything)) .Return(mockOrderListener2) .Repeat.Once(); mockOrderListener.Expect(x => x.Stop()); mockOrderListener2.Expect(x => x.Stop()); // Act var orderStream = new OrderStream(_mockLsStreamingClientAccountConnection); //Two subscribtions orderStream.SubscribeToOrders(); orderStream.SubscribeToOrders(); orderStream.Unsubscribe(); // Assert _mockLsStreamingClientAccountConnection.VerifyAllExpectations(); mockOrderListener.VerifyAllExpectations(); mockOrderListener2.VerifyAllExpectations(); }
public void ValidSubscribtionsAreAddedToAToOrderStreamListenerList() { // Arrange var mockOrderListener = MockRepository.GenerateMock<IStreamingListener<OrderDTO>>(); _mockLsStreamingClientAccountConnection.Expect(x => x.BuildOrderListener(Arg<string>.Is.Anything)) .Return(mockOrderListener) .Repeat.Twice(); // Act var orderStream = new OrderStream(_mockLsStreamingClientAccountConnection); orderStream.SubscribeToOrders(); orderStream.SubscribeToOrders(); // Assert Assert.AreEqual(2, orderStream.Listeners.Count); _mockLsStreamingClientAccountConnection.VerifyAllExpectations(); mockOrderListener.VerifyAllExpectations(); }