public void SubscribingToBookUpdates_Should_TriggerWithBookUpdate(Precision prec, Frequency freq) { // arrange var socket = new TestSocket(); socket.CanConnect = true; var client = TestHelpers.CreateSocketClient(socket); BitfinexOrderBookEntry[] result = null; var subTask = client.SubscribeToBookUpdatesAsync("Test", prec, freq, 10, data => result = data); var subResponse = new BookSubscriptionResponse() { Channel = "book", Event = "subscribed", ChannelId = 1, Frequency = JsonConvert.SerializeObject(freq, new FrequencyConverter(false)), Length = 10, Pair = "Test", Precision = JsonConvert.SerializeObject(prec, new PrecisionConverter(false)), Symbol = "Test" }; socket.InvokeMessage(subResponse); subTask.Wait(5000); BitfinexOrderBookEntry[] expected = new[] { new BitfinexOrderBookEntry() }; // act socket.InvokeMessage($"[1, {JsonConvert.SerializeObject(expected)}]"); // assert Assert.IsTrue(TestHelpers.AreEqual(result[0], expected[0])); }
public void SubscribingToRawBookUpdates_Should_TriggerWithRawBookUpdate() { // arrange var socket = new TestSocket(); socket.CanConnect = true; var client = TestHelpers.CreateSocketClient(socket); BitfinexRawOrderBookEntry[] result = null; var subTask = client.SubscribeToRawBookUpdatesAsync("tBTCUSD", 10, data => result = data.ToArray()); var subResponse = new BookSubscriptionResponse() { Channel = "book", Event = "subscribed", ChannelId = 1, Symbol = "tBTCUSD", Pair = "BTCUSD", Frequency = "F0", Precision = "R0", Length = 10 }; socket.InvokeMessage(subResponse); subTask.Wait(5000); BitfinexRawOrderBookEntry[] expected = new [] { new BitfinexRawOrderBookEntry() }; // act socket.InvokeMessage($"[1, {JsonConvert.SerializeObject(expected)}]"); // assert Assert.IsTrue(TestHelpers.AreEqual(result[0], expected[0])); }
public void SubscribingToRawBookUpdates_Should_SubscribeSuccessfully() { // arrange var socket = new TestSocket(); socket.CanConnect = true; var client = TestHelpers.CreateSocketClient(socket); var subTask = client.SubscribeToRawBookUpdatesAsync("Test", 10, data => { }); var subResponse = new BookSubscriptionResponse() { Channel = "book", Event = "subscribed", ChannelId = 1, Symbol = "Test", Pair = "Test", Frequency = "F0", Precision = "R0", Length = 10 }; // act socket.InvokeMessage(subResponse); subTask.Wait(5000); // assert Assert.IsTrue(subTask.Result.Success); }
public async Task SubscribingToBookUpdates_Should_SubscribeSuccessfully(Precision prec, Frequency freq) { // arrange var socket = new TestSocket(); socket.CanConnect = true; var client = TestHelpers.CreateSocketClient(socket, new BitfinexSocketClientOptions() { LogVerbosity = LogVerbosity.Debug }); BitfinexOrderBookEntry[] result; var subTask = client.SubscribeToBookUpdatesAsync("tBTCUSD", prec, freq, 25, data => result = data.ToArray()); var subResponse = new BookSubscriptionResponse() { Channel = "book", Event = "subscribed", ChannelId = 1, Frequency = JsonConvert.SerializeObject(freq, new FrequencyConverter(false)), Length = 25, Pair = "BTCUSD", Precision = JsonConvert.SerializeObject(prec, new PrecisionConverter(false)), Symbol = "tBTCUSD" }; // act socket.InvokeMessage(subResponse); var taskResult = await subTask.ConfigureAwait(false); // assert Assert.IsTrue(taskResult.Success); }