public void when_starting_twice_then_ignores_second_request() { var receiver = new Mock<IMessageReceiver>(); var serializer = new Mock<ITextSerializer>(); var processor = new Mock<MessageProcessor>(receiver.Object, serializer.Object) { CallBase = true }.Object; processor.Start(); processor.Start(); }
public void when_starting_twice_then_ignores_second_request() { var receiver = new Mock <IMessageReceiver>(); var serializer = new Mock <ITextSerializer>(); var processor = new Mock <MessageProcessor>(receiver.Object, serializer.Object) { CallBase = true }.Object; processor.Start(); processor.Start(); }
public void when_starting_twice_then_throws() { var receiver = new Mock <IMessageReceiver>(); var serializer = new Mock <ISerializer>(); var processor = new Mock <MessageProcessor>(receiver.Object, serializer.Object) { CallBase = true }.Object; processor.Start(); Assert.Throws <InvalidOperationException>(() => processor.Start()); }
public async Task DisconnectDisposesTransport() { var mockTransport = new Mock <IClientTransport>(); mockTransport.Setup(t => t.Negotiate(It.IsAny <IConnection>(), It.IsAny <string>())) .Returns(Task.FromResult(new NegotiationResponse { ProtocolVersion = "1.4", ConnectionId = "42", ConnectionToken = "42.42", DisconnectTimeout = 10, TransportConnectTimeout = 10 })); mockTransport.Setup(t => t.Start(It.IsAny <IConnection>(), It.IsAny <string>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult <object>(null)); var connection = new Mock <Connection>("http://fakeurl") { CallBase = true }.Object; await connection.Start(mockTransport.Object); ((IConnection)connection).Disconnect(); mockTransport.Verify(t => t.Dispose(), Times.Once()); }
public async Task Can_Observe_an_asynchronous_sequencial_percentance_sequence(string platformName) { var platform = GetPlatform(platformName); var signal = Observable.Interval(TimeSpan.FromMilliseconds(10)) .Select(l => (decimal)l) .Take(2).Do(obj => { }, () => { }); using (var newApplication = DefaultProgressBarViewItemModule(platform).Application){ if (platform == Platform.Win) { var unused = new ProgressBarControl(); var progressBarViewItem = new Mock <ProgressBarViewItemBase>(Mock.Of <IModelProgressBarViewItem>(), GetType()) { CallBase = true }.Object; progressBarViewItem.Setup(null, newApplication); progressBarViewItem.CreateControl(); progressBarViewItem.Start(); var progressBarControl = (ProgressBarControl)progressBarViewItem.Control; var whenPositionChanged = Observable .FromEventPattern <EventHandler, EventArgs>(h => progressBarControl.PositionChanged += h, h => progressBarControl.PositionChanged -= h, ImmediateScheduler.Instance).Replay(); whenPositionChanged.Connect(); await signal.Do(progressBarViewItem).Timeout(Timeout).ToTaskWithoutConfigureAwait(); await whenPositionChanged.Take(2).Timeout(Timeout).ToTaskWithoutConfigureAwait(); progressBarViewItem.Position.ShouldBe(0); } } }
public void ProcessResponseCapturesOnReceivedExceptions() { var ex = new Exception(); var connection = new Mock <IConnection>(MockBehavior.Strict); connection.SetupGet(c => c.JsonSerializer).Returns(JsonSerializer.CreateDefault()); connection.Setup(c => c.OnReceived(It.IsAny <JToken>())).Throws(ex); connection.Setup(c => c.OnError(ex)); connection.Setup(c => c.MarkLastMessage()); var transport = new Mock <ClientTransportBase>(Mock.Of <IHttpClient>(), "fakeTransport") { CallBase = true }.Object; transport.Start(Mock.Of <IConnection>(), string.Empty, CancellationToken.None); // PersistentResponse transport.ProcessResponse(connection.Object, "{\"M\":{}}"); // HubResponse (WebSockets) transport.ProcessResponse(connection.Object, "{\"I\":{}}"); connection.VerifyAll(); }
internal async Task Can_Observe_an_asynchronous_sequencial_percentance_sequence(Platform platform) { var signal = Observable.Interval(TimeSpan.FromMilliseconds(10)) .Select(l => (decimal)l) .Take(100); var newApplication = platform.NewApplication(); newApplication.SetupDefaults(); if (platform == Platform.Win) { var unused = new ProgressBarControl(); var progressBarViewItem = new Mock <ProgressBarViewItemBase>(Mock.Of <IModelProgressBarViewItem>(), GetType()) { CallBase = true }.Object; progressBarViewItem.Setup(null, newApplication); progressBarViewItem.CreateControl(); progressBarViewItem.Start(); var progressBarControl = (ProgressBarControl)progressBarViewItem.Control; var whenPositionChanged = Observable.FromEventPattern <EventHandler, EventArgs>(h => progressBarControl.PositionChanged += h, h => progressBarControl.PositionChanged -= h).Replay(); whenPositionChanged.Connect(); await signal.Do(progressBarViewItem); await whenPositionChanged.Take(100).WithTimeOut(); progressBarViewItem.Position.ShouldBe(0); } }
public void when_disposing_started_then_stops() { var receiver = new Mock<IMessageReceiver>(); var serializer = new Mock<ITextSerializer>(); var processor = new Mock<MessageProcessor>(receiver.Object, serializer.Object) { CallBase = true }.Object; processor.Start(); processor.Dispose(); Mock.Get(processor).Verify(x => x.Stop()); }
public void when_disposing_started_then_stops() { var receiver = new Mock <IMessageReceiver>(); var serializer = new Mock <ITextSerializer>(); var processor = new Mock <MessageProcessor>(receiver.Object, serializer.Object) { CallBase = true }.Object; processor.Start(); processor.Dispose(); Mock.Get(processor).Verify(x => x.Stop()); }
public void when_starting_disposed_then_throws() { var receiver = new Mock <IMessageReceiver>(); var serializer = new Mock <ISerializer>(); var processor = new Mock <MessageProcessor>(receiver.Object, serializer.Object) { CallBase = true }.Object; processor.Dispose(); Assert.Throws <ObjectDisposedException>(() => processor.Start()); }
public void ProcessResponseCapturesOnReceivedExceptions() { var ex = new Exception(); var connection = new Mock<IConnection>(MockBehavior.Strict); connection.SetupGet(c => c.JsonSerializer).Returns(JsonSerializer.CreateDefault()); connection.Setup(c => c.OnReceived(It.IsAny<JToken>())).Throws(ex); connection.Setup(c => c.OnError(ex)); connection.Setup(c => c.MarkLastMessage()); var transport = new Mock<ClientTransportBase>(Mock.Of<IHttpClient>(), "fakeTransport") {CallBase = true}.Object; transport.Start(Mock.Of<IConnection>(), string.Empty, CancellationToken.None); // PersistentResponse transport.ProcessResponse(connection.Object, "{\"M\":{}}"); // HubResponse (WebSockets) transport.ProcessResponse(connection.Object, "{\"I\":{}}"); connection.VerifyAll(); }
public void DisconnectsWithErrorIfServerSendsGlobalErrorMessage() { var ex = new Exception(); var connection = new Mock <IConnection>(MockBehavior.Strict); connection.SetupGet(c => c.JsonSerializer).Returns(JsonSerializer.CreateDefault()); connection.Setup(c => c.Disconnect()); connection.Setup(c => c.OnError(It.Is <HubException>(h => h.Message.Equals(string.Format(Resources.Error_ErrorFromServer, "Uh oh!"))))); connection.Setup(c => c.MarkLastMessage()); var transport = new Mock <ClientTransportBase>(Mock.Of <IHttpClient>(), "fakeTransport") { CallBase = true }.Object; transport.Start(Mock.Of <IConnection>(), string.Empty, CancellationToken.None); transport.ProcessResponse(connection.Object, "{ \"E\": \"Uh oh!\" }"); connection.VerifyAll(); }
public async Task DisconnectDisposesTransport() { var mockTransport = new Mock<IClientTransport>(); mockTransport.Setup(t => t.Negotiate(It.IsAny<IConnection>(), It.IsAny<string>())) .Returns(Task.FromResult(new NegotiationResponse { ProtocolVersion = "1.4", ConnectionId = "42", ConnectionToken = "42.42", DisconnectTimeout = 10, TransportConnectTimeout = 10 })); mockTransport.Setup(t => t.Start(It.IsAny<IConnection>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) .Returns(Task.FromResult<object>(null)); var connection = new Mock<Connection>("http://fakeurl") { CallBase = true }.Object; await connection.Start(mockTransport.Object); ((IConnection) connection).Disconnect(); mockTransport.Verify(t => t.Dispose(), Times.Once()); }
public void SetUp() { Mock.Start("MockTest.json"); }