Пример #1
0
        public void Throws()
        {
            var client = new CandlestickWebSocketClient();

            Assert.Throws <ArgumentNullException>("symbol", () => client.Subscribe((string)null, CandlestickInterval.Hour));
            Assert.Throws <ArgumentNullException>("symbol", () => client.Subscribe(string.Empty, CandlestickInterval.Hour));
        }
Пример #2
0
        private static void ReqAndSubscribeCandlestick()
        {
            // Initialize a new instance
            var client = new CandlestickWebSocketClient(Config.Host);

            // Add the data receive handler
            client.OnDataReceived += Client_OnDataReceived;
            void Client_OnDataReceived(String response)
            {
                if (response != null)
                {
                    AppLogger.Info($"WebSocket returned data={response}");
                }
            }

            // Then connect to server and wait for the handler to handle the response
            client.Connect();

            // Request full data
            client.Req("btcusdt", "1day", 0, 0, "");

            client.Subscribe("btcusdt", "1day");

            Console.WriteLine("Press ENTER to unsubscribe and stop...\n");
            Console.ReadLine();

            // Unsubscrive the specific topic
            //client.UnSubscribe("btcusdt", "1min");

            //client.Subscribe("btcusdt", "1min", "j4ecd3s9rj.1610623898018.1.111");

            // Delete handler
            // Delete handler
            client.OnDataReceived -= Client_OnDataReceived;
        }
        public async Task SubscribeThrows()
        {
            var client = new CandlestickWebSocketClient(new Mock <IWebSocketClient>().Object);

            await Assert.ThrowsAsync <ArgumentNullException>("symbol", () => client.SubscribeAsync(null, CandlestickInterval.Hour, new CancellationToken()));

            await Assert.ThrowsAsync <ArgumentException>("token", () => client.SubscribeAsync(Symbol.BTC_USDT, CandlestickInterval.Hour, CancellationToken.None));
        }
Пример #4
0
        public async Task StreamThrows()
        {
            var client = new CandlestickWebSocketClient(new Mock <IWebSocketStream>().Object);

            using (var cts = new CancellationTokenSource())
            {
                await Assert.ThrowsAsync <ArgumentNullException>("symbol", () => client.StreamAsync(null, CandlestickInterval.Hour, cts.Token));
            }
        }
Пример #5
0
        public void Subscribe()
        {
            var client = new CandlestickWebSocketClient();

            Assert.Empty(client.SubscribedStreams);
            Assert.Empty(client.Publisher.PublishedStreams);

            client.Subscribe(Symbol.BTC_USDT, CandlestickInterval.Hour);

            Assert.True(client.SubscribedStreams.Count() == 1);
            Assert.True(client.Publisher.PublishedStreams.Count() == 1);
        }
        private static void ReqAndSubscribeCandlestick()
        {
            // Initialize a new instance
            var client = new CandlestickWebSocketClient();

            // Add connection open handler
            client.OnConnectionOpen += Client_OnConnectionOpen;
            void Client_OnConnectionOpen()
            {
                // Subscribe the specific topic
                client.Subscribe("btcusdt", "1min");

                Console.WriteLine("Subscribed");
            }

            // Add the response receive handler
            client.OnResponseReceived += Client_OnResponseReceived;
            void Client_OnResponseReceived(SubscribeCandlestickResponse response)
            {
                if (response != null)
                {
                    if (response.tick != null) // Parse subscription data
                    {
                        Console.WriteLine($"id: {response.tick.id}, count: {response.tick.count}, vol: {response.tick.vol}");
                    }
                    else if (response.data != null) // Parse request data
                    {
                        foreach (var t in response.data)
                        {
                            Console.WriteLine($"id: {t.id}, count: {t.count}, vol: {t.vol}");
                        }
                        Console.WriteLine($"There are total {response.data.Length} ticks");
                    }
                }
            }

            // Then connect to server and wait for the handler to handle the response
            client.Connect();

            // Request full data
            client.Req("btcusdt", "1min", 1569361140, 1569366420);

            Console.WriteLine("Press ENTER to unsubscribe and stop...\n");
            Console.ReadLine();

            // Unsubscrive the specific topic
            client.UnSubscribe("btcusdt", "1min");

            // Delete handler
            //client.OnResponseReceived -= Client_OnResponseReceived;
            client.Disconnect();
        }
        public void SubscribeThrows()
        {
            var client = new CandlestickWebSocketClient(new Mock <IWebSocketStream>().Object);

            Assert.Throws <ArgumentNullException>("symbol", () => client.Subscribe(null, CandlestickInterval.Hour));
        }