public void SubscribingToTickerUpdates_Should_TriggerWithTickerUpdate() { // arrange var socket = new TestSocket(); socket.CanConnect = true; var client = TestHelpers.CreateSocketClient(socket); BitfinexStreamSymbolOverview result = null; var subTask = client.SubscribeToTickerUpdatesAsync("tBTCUSD", data => result = data); var subResponse = new TickerSubscriptionResponse() { Channel = "ticker", Event = "subscribed", ChannelId = 1, Symbol = "tBTCUSD", Pair = "BTCUSD" }; socket.InvokeMessage(subResponse); subTask.Wait(5000); BitfinexStreamSymbolOverview expected = new BitfinexStreamSymbolOverview(); // act socket.InvokeMessage($"[1, {JsonConvert.SerializeObject(expected)}]"); // assert Assert.IsTrue(TestHelpers.AreEqual(result, expected)); }
private void ProduceToKafka(BitfinexStreamSymbolOverview tick, string symbol) { //Console.WriteLine($"[{ExchName}] 1 symbol ticker updates received"); int quoteVolume = 0; DateTime dt = DateTime.Now.ToUniversalTime(); //Console.WriteLine($"{dt:G} [{ExchName} {symbol}] {tick.LastPrice} ({tick.Volume}/{quoteVolume}) B {tick.BidSize} : {tick.Bid} x {tick.Ask} : {tick.AskSize} A"); string msg = string.Format($"{dt:G},{ExchName},{symbol},{tick.LastPrice},{tick.Volume},{quoteVolume},{tick.BidSize},{tick.Bid},{tick.Ask},{tick.AskSize}"); //Console.WriteLine(msg); _p.Produce(msg); }