Esempio n. 1
0
        public void SubscribingToCandleUpdates_Should_SubscribeSuccessfully(TimeFrame timeframe)
        {
            // arrange
            var socket = new TestSocket();

            socket.CanConnect = true;
            var client = TestHelpers.CreateSocketClient(socket);

            var subTask = client.SubscribeToCandleUpdatesAsync("Test", timeframe, data => { });

            var subResponse = new CandleSubscriptionResponse()
            {
                Channel   = "candles",
                Event     = "subscribed",
                ChannelId = 1,
                Symbol    = "Test",
                Key       = "trade:" + JsonConvert.SerializeObject(timeframe, new TimeFrameConverter(false)) + ":Test"
            };

            // act
            socket.InvokeMessage(subResponse);

            subTask.Wait(5000);

            // assert
            Assert.IsTrue(subTask.Result.Success);
        }
Esempio n. 2
0
        public void SubscribingToCandleUpdates_Should_TriggerWithCandleUpdate(TimeFrame timeframe)
        {
            // arrange
            var socket = new TestSocket();

            socket.CanConnect = true;
            var client = TestHelpers.CreateSocketClient(socket);

            BitfinexCandle[] result = null;
            var subTask             = client.SubscribeToCandleUpdatesAsync("Test", timeframe, data => result = data);

            var subResponse = new CandleSubscriptionResponse()
            {
                Channel   = "candles",
                Event     = "subscribed",
                ChannelId = 1,
                Symbol    = "Test",
                Key       = "trade:" + JsonConvert.SerializeObject(timeframe, new TimeFrameConverter(false)) + ":Test"
            };

            socket.InvokeMessage(subResponse);
            subTask.Wait(5000);
            BitfinexCandle[] expected = new[] { new BitfinexCandle() };

            // act
            socket.InvokeMessage($"[1, {JsonConvert.SerializeObject(expected)}]");

            // assert
            Assert.IsTrue(TestHelpers.AreEqual(result[0], expected[0]));
        }
Esempio n. 3
0
        public void SubscribingToCandleUpdates_Should_SubscribeSuccessfully(KlineInterval timeframe)
        {
            // arrange
            var socket = new TestSocket();

            socket.CanConnect = true;
            var client = TestHelpers.CreateSocketClient(socket, new BitfinexSocketClientOptions()
            {
                LogLevel = LogLevel.Debug
            });

            var subTask = client.SpotStreams.SubscribeToKlineUpdatesAsync("tBTCUSD", timeframe, data => { });

            var subResponse = new CandleSubscriptionResponse()
            {
                Channel   = "candles",
                Event     = "subscribed",
                ChannelId = 1,
                Symbol    = "BTCUSD",
                Key       = "trade:" + JsonConvert.SerializeObject(timeframe, new KlineIntervalConverter(false)) + ":tBTCUSD"
            };

            // act
            socket.InvokeMessage(subResponse);

            subTask.Wait(5000);

            // assert
            Assert.IsTrue(subTask.Result.Success);
        }