示例#1
0
        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);
        }
示例#2
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);
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
        }