public async Task SetSymbol() { // Arrange var preferences = new Model.Preferences(); preferences.OrderBookChartDisplayCount = 8; preferences.OrderBookDisplayCount = 5; preferences.TradesDisplayCount = 5; preferences.TradesChartDisplayCount = 8; var exchangeApi = ExchangeServiceHelper.GetExchangeService(); var exchangeService = new WpfExchangeService(exchangeApi); var symbolViewModel = new SymbolViewModel(Exchange.Test, exchangeService, chartHelper, new BinanceOrderBookHelper(), new TradeHelper(), preferences, new DebugLogger()); var trx = TestHelper.Trx.GetViewSymbol(); // Act await symbolViewModel.SetSymbol(trx); // Assert Assert.AreEqual(symbolViewModel.Symbol, trx); Assert.IsNotNull(symbolViewModel.OrderBook); Assert.AreEqual(symbolViewModel.OrderBook.LastUpdateId, TestHelper.OrderBook.LastUpdateId); Assert.IsTrue(symbolViewModel.OrderBook.TopAsks.Count > 0); Assert.IsTrue(symbolViewModel.OrderBook.TopBids.Count > 0); Assert.IsTrue(symbolViewModel.Trades.Count > 0); }
public async Task UpdateOrderBook() { // Arrange var cxlToken = new CancellationToken(); var exchangeApi = ExchangeServiceHelper.GetExchangeService(ExchangeServiceType.SubscribeOrderBookAggregateTrades); var exchangeService = new WpfExchangeService(exchangeApi); var symbolViewModel = new SymbolViewModel(exchangeService); var trx = TestHelper.Trx.GetViewSymbol(); // Act await symbolViewModel.SetSymbol(trx); // Assert Assert.AreEqual(symbolViewModel.OrderBook.LastUpdateId, TestHelper.OrderBookUpdated.LastUpdateId); }
public async Task UpdateAggregateTrades() { // Arrange var cxlToken = new CancellationToken(); var exchangeApi = ExchangeServiceHelper.GetExchangeService(ExchangeServiceType.SubscribeOrderBookAggregateTrades); var exchangeService = new WpfExchangeService(exchangeApi); var symbolViewModel = new SymbolViewModel(exchangeService); var trx = TestHelper.Trx.GetViewSymbol(); // Act await symbolViewModel.SetSymbol(trx); // Assert var trades = TestHelper.AggregateTrades; var updatedtrades = TestHelper.AggregateTradesUpdated; var maxId = trades.Max(t => t.Id); var newTrades = (from t in updatedtrades where t.Id > maxId orderby t.Time select t).ToList(); for (int i = 0; i < newTrades.Count(); i++) { if (trades.Count >= 20) { trades.RemoveAt(trades.Count - 1); } trades.Insert(0, newTrades[i]); } Assert.AreEqual(symbolViewModel.AggregateTrades.Count, trades.Count); for (int i = 0; i < symbolViewModel.AggregateTrades.Count; i++) { Assert.AreEqual(symbolViewModel.AggregateTrades[i].Id, trades[i].Id); } }
public async Task SetSymbol() { // Arrange var cxlToken = new CancellationToken(); var exchangeApi = ExchangeServiceHelper.GetExchangeService(); var exchangeService = new WpfExchangeService(exchangeApi); var symbolViewModel = new SymbolViewModel(exchangeService); var trx = TestHelper.Trx.GetViewSymbol(); // Act await symbolViewModel.SetSymbol(trx); // Assert Assert.AreEqual(symbolViewModel.Symbol, trx); Assert.IsNotNull(symbolViewModel.OrderBook); Assert.AreEqual(symbolViewModel.OrderBook.LastUpdateId, TestHelper.OrderBook.LastUpdateId); Assert.IsNotNull(symbolViewModel.OrderBook.Top); Assert.IsTrue(symbolViewModel.OrderBook.TopAsks.Count > 0); Assert.IsTrue(symbolViewModel.OrderBook.TopBids.Count > 0); Assert.IsTrue(symbolViewModel.AggregateTrades.Count > 0); }