public void UpdateMessage_StreamUpdated() { // Arrange var timestamp = DateTimeOffset.UtcNow; var triggered = false; var client = InitializeMarketClient(); client.Streams.CandlestickUpdateStream.Subscribe( msg => { triggered = true; // Assert Assert.NotNull(msg); Assert.Contains(SubscriptionType.MarketCandlestick.ToTopicId(), msg.Topic); Assert.True(TestUtils.UnixTimesEqual(timestamp, msg.Timestamp)); Assert.True(msg.Tick !.Id > 0); }); var message = HuobiMessagesFactory.CreateMarketCandlestickUpdateMessage(timestamp); // Act TriggerMessageReceive(message); // Assert VerifyMessageNotUnhandled(); Assert.True(triggered); }
public void HandleResponse_StreamUpdated() { // Arrange var timestamp = DateTimeOffset.UtcNow; var message = HuobiMessagesFactory.CreateSubscribeResponseMessage(timestamp); var triggered = false; var client = InitializeGenericClient(); client.Streams.ResponseMessageStream.Subscribe( msg => { triggered = true; // Assert Assert.Equal(message, msg); }); // Act TriggerMessageReceive(message); // Assert VerifyMessageNotUnhandled(); Assert.True(triggered); }
public void HandleResponse_Unsubscribed_StreamUpdated() { // Arrange var timestamp = DateTimeOffset.UtcNow; var triggered = false; var client = InitializeMarketClient(); client.Streams.UnsubscribeResponseStream.Subscribe( msg => { triggered = true; // Assert Assert.NotNull(msg); Assert.True(!string.IsNullOrEmpty(msg.Topic)); Assert.True(!string.IsNullOrEmpty(msg.Status)); Assert.True(!string.IsNullOrEmpty(msg.ReqId)); Assert.True(TestUtils.UnixTimesEqual(timestamp, msg.Timestamp)); }); var message = HuobiMessagesFactory.CreateUnsubscribeResponseMessage(timestamp); // Act TriggerMessageReceive(message); // Assert VerifyMessageNotUnhandled(); Assert.True(triggered); }
public void PullMessage_StreamUpdated() { // Arrange var timestamp = DateTimeOffset.UtcNow; var triggered = false; var client = InitializeMarketClient(); client.Streams.DepthPullStream.Subscribe( msg => { triggered = true; // Assert Assert.NotNull(msg); Assert.Contains(SubscriptionType.MarketDepth.ToTopicId(), msg.Topic); Assert.True(TestUtils.UnixTimesEqual(timestamp, msg.Timestamp)); Assert.Equal(2, msg.Data !.Bids.Length); Assert.True(msg.Data !.Bids[0].Price > 0); Assert.Equal(2, msg.Data !.Asks.Length); Assert.True(msg.Data !.Asks[0].Price > 0); }); var message = HuobiMessagesFactory.CreateMarketDepthPullResponseMessage(timestamp); // Act TriggerMessageReceive(message); // Assert VerifyMessageNotUnhandled(); Assert.True(triggered); }