public void UpdateTrades_Second_Update_3_New_Trades() { // Arrange var preferences = new Model.Preferences(); preferences.OrderBookChartDisplayCount = 8; preferences.OrderBookDisplayCount = 5; preferences.TradesDisplayCount = 5; preferences.TradesChartDisplayCount = 8; var exchangeApi = ExchangeServiceHelper.GetExchangeService(ExchangeServiceType.SubscribeOrderBookAggregateTrades); var exchangeService = new WpfExchangeService(exchangeApi); var symbolViewModel = new SymbolViewModel(Exchange.Test, exchangeService, chartHelper, new BinanceOrderBookHelper(), new TradeHelper(), preferences, new DebugLogger()); var trx = TestHelper.BNB.GetViewSymbol(); symbolViewModel.Symbol = trx; var firstTrades = TradesUpdateHelper.Trades_BNB_InitialTradeUpdate_10_Trades(); var secondTrades = TradesUpdateHelper.Trades_BNB_NextTradeUpdate(firstTrades, 3, 3); // Act symbolViewModel.UpdateTrades(firstTrades); symbolViewModel.UpdateTrades(secondTrades); // Assert AssertTradeUpdate(symbolViewModel, preferences, secondTrades); }
public void UpdateTrades_Second_Update_3_New_Trades_Less_Than_Limit() { // Arrange var preferences = new Model.Preferences { OrderBookChartDisplayCount = 8, OrderBookDisplayCount = 5, TradesDisplayCount = 15, TradesChartDisplayCount = 18 }; var exchangeApi = ExchangeServiceHelper.GetExchangeService(ExchangeServiceType.SubscribeOrderBookAggregateTrades); var exchangeService = new WpfExchangeService(exchangeApi); var symbolViewModel = new SymbolViewModel(Exchange.Test, exchangeService, chartHelper, new BinanceOrderBookHelper(), new TradeHelper(), preferences, new DebugLogger()); var trx = TestHelper.BNB.GetViewSymbol(); symbolViewModel.Symbol = trx; var firstTrades = TradesUpdateHelper.Trades_BNB_InitialTradeUpdate_10_Trades(); var secondTrades = TradesUpdateHelper.Trades_BNB_NextTradeUpdate(firstTrades, 3, 3); // Act symbolViewModel.UpdateTrades(firstTrades); symbolViewModel.UpdateTrades(secondTrades); // Assert Assert.AreEqual(symbolViewModel.Trades.Count, 13); Assert.AreEqual(symbolViewModel.TradesChart.Count, 13); var chart = firstTrades.Take(3).ToList(); chart.AddRange(secondTrades); // Assert - chart trades for (int i = 0; i < 13; i++) { Assert.AreEqual(symbolViewModel.TradesChart[i].Id, chart[i].Id); Assert.AreEqual(symbolViewModel.TradesChart[i].Time, chart[i].Time); } // Assert - trades var trades = chart.Reverse <ITrade>().ToList(); for (int i = 0; i < 13; i++) { Assert.AreEqual(symbolViewModel.Trades[i].Id, trades[i].Id); Assert.AreEqual(symbolViewModel.Trades[i].Time, trades[i].Time); } }
public void UpdateTrades_Third_Update() { // Arrange var preferences = new Model.Preferences { OrderBookChartDisplayCount = 8, OrderBookDisplayCount = 5, TradesDisplayCount = 15, TradesChartDisplayCount = 18 }; var exchangeApi = ExchangeServiceHelper.GetExchangeService(ExchangeServiceType.SubscribeOrderBookAggregateTrades); var exchangeService = new WpfExchangeService(exchangeApi); var symbolViewModel = new SymbolViewModel(Exchange.Test, exchangeService, chartHelper, new BinanceOrderBookHelper(), new TradeHelper(), preferences, new DebugLogger()); var trx = TestHelper.BNB.GetViewSymbol(); symbolViewModel.Symbol = trx; var firstTrades = TradesUpdateHelper.Trades_BNB_InitialTradeUpdate_10_Trades(); var secondTrades = TradesUpdateHelper.Trades_BNB_NextTradeUpdate(firstTrades, 3, 3); var thirdTrades = TradesUpdateHelper.Trades_BNB_NextTradeUpdate(secondTrades, 9, 9); // Act symbolViewModel.UpdateTrades(firstTrades); symbolViewModel.UpdateTrades(secondTrades); symbolViewModel.UpdateTrades(thirdTrades); // Assert var update = secondTrades.Skip(1).Take(8).ToList(); update.AddRange(thirdTrades); AssertTradeUpdate(symbolViewModel, preferences, update); }