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); }
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); }