Exemplo n.º 1
0
        public async Task OrderTypes_SelectedSymbol()
        {
            // Arrange
            var cxlToken        = new CancellationToken();
            var exchangeApi     = ExchangeServiceHelper.GetExchangeService();
            var exchangeService = new WpfExchangeService(exchangeApi);
            var tradeViewModel  = new TradeViewModel(exchangeService, new DebugLogger());

            var symbols = await exchangeService.GetSymbols24HourStatisticsAsync(Exchange.Test, cxlToken);

            var trx = symbols.Single(s => s.Name.Equals("TRXBTC"));

            tradeViewModel.SetSymbols(symbols.ToList());
            tradeViewModel.SelectedSymbol = trx;

            // Act
            var orderTypes = tradeViewModel.OrderTypes;

            // Assert
            Assert.AreEqual(tradeViewModel.SelectedSymbol, trx);

            var missing = OrderExtensions.OrderTypes().Except(tradeViewModel.OrderTypes).ToList();

            foreach (var orderType in missing)
            {
                if (orderType != OrderExtensions.GetOrderTypeName(Interface.Model.OrderType.StopLoss) &&
                    orderType != OrderExtensions.GetOrderTypeName(Interface.Model.OrderType.TakeProfit))
                {
                    Assert.Fail();
                }
            }
        }