Пример #1
0
        public void GetKlines_Should_RespondWithKlines()
        {
            // arrange
            CoinExKline[] expected = new CoinExKline[] {
                new CoinExKline(),
                new CoinExKline(),
            };
            var objects = TestHelpers.PrepareClient(() => Construct(), CreateRequest(expected));

            // act
            var result = objects.Client.GetKlines("ETHBTC", KlineInterval.FiveMinute);

            // assert
            Assert.AreEqual(true, result.Success);
            TestHelpers.PublicInstancePropertiesEqual(expected, result.Data);
        }
Пример #2
0
        public void SubscribingToMarketKlineUpdates_Should_InvokeUpdateMethod()
        {
            // Arrange
            var sb         = new StringBuilder();
            var testWriter = new StringWriter(sb);
            var client     = TestHelpers.PrepareSocketClient(() => Construct(new CoinExSocketClientOptions()
            {
                LogVerbosity = CryptoExchange.Net.Logging.LogVerbosity.Debug,
                LogWriters   = new List <TextWriter> {
                    testWriter
                }
            }));

            var expected = new CoinExKline[]
            {
                new CoinExKline(),
                new CoinExKline(),
            };

            CoinExKline[] actual   = null;
            var           sendWait = TestHelpers.WaitForSend(client);
            var           subTask  = client.SubscribeToKlineUpdatesAsync("ETHBTC", KlineInterval.FiveMinute, (market, data) =>
            {
                actual = data.ToArray();
            });

            if (!sendWait.Result)
            {
                Assert.Fail(sb.ToString());
            }

            InvokeSubResponse(client);
            subTask.Wait();

            // Act
            InvokeSubUpdate(client, "kline.update", expected);

            // Assert
            Assert.IsTrue(subTask.Result.Success);
            Assert.IsTrue(actual != null);
            TestHelpers.PublicInstancePropertiesEqual(expected, actual);
        }