public void CanNotDeleteNonAttachedOrder() { // Arrange var vm = GetVm(); var dispatcherHelper = Substitute.For <IDispatcherHelper>(); var queueProcessor = Substitute.For <IQueueProcessor>(); var findSymbolService = Substitute.For <IFindSymbolService>(); var orderCalculationService = Substitute.For <IOrderCalculationService>(); var orderManager = Substitute.For <IOrderManager>(); var factory = new NewOrderViewModelFactory(dispatcherHelper, queueProcessor, findSymbolService, orderCalculationService, orderManager); var order = factory.Create(); // Assert Assert.False(vm.DeleteCommand.CanExecute(order)); }
private NewOrderViewModel GetOrder() { var dispatcherHelper = Substitute.For <IDispatcherHelper>(); dispatcherHelper .When(x => x.InvokeOnUiThread(Arg.Any <Action>())) .Do(x => { var action = x.Arg <Action>(); action.Invoke(); }); var queueProcessor = Substitute.For <IQueueProcessor>(); var findSymbolService = Substitute.For <IFindSymbolService>(); var orderCalculationService = Substitute.For <IOrderCalculationService>(); var orderManager = Substitute.For <IOrderManager>(); var factory = new NewOrderViewModelFactory(dispatcherHelper, queueProcessor, findSymbolService, orderCalculationService, orderManager); return(factory.Create()); }
private static OrdersListViewModel GetVm( ITradeRepository tradeRepository = null, IMarketDataManager marketDataManager = null, IOrderCalculationService orderCalculationService = null, IOrderManager orderManager = null) { var dispatcherHelper = Substitute.For <IDispatcherHelper>(); dispatcherHelper .When(x => x.InvokeOnUiThread(Arg.Any <Action>())) .Do(x => x.Arg <Action>().Invoke()); var queueProcessor = Substitute.For <IQueueProcessor>(); if (tradeRepository == null) { tradeRepository = Substitute.For <ITradeRepository>(); } if (marketDataManager == null) { marketDataManager = Substitute.For <IMarketDataManager>(); } var findSymbolService = Substitute.For <IFindSymbolService>(); if (orderCalculationService == null) { orderCalculationService = Substitute.For <IOrderCalculationService>(); } if (orderManager == null) { orderManager = Substitute.For <IOrderManager>(); } var factory = new NewOrderViewModelFactory(dispatcherHelper, queueProcessor, findSymbolService, orderCalculationService, orderManager); return(new OrdersListViewModel(dispatcherHelper, Substitute.For <IQueueProcessor>(), factory, tradeRepository, marketDataManager)); }
public MainViewModel Build() { ConnectionService = _connectionService ?? Substitute.For <IConnectionService>(); var orderManager = Substitute.For <IOrderManager>(); var orderCalculationService = _orderCalculationService ?? Substitute.For <IOrderCalculationService>(); var marketDataManager = Substitute.For <IMarketDataManager>(); var positionsManager = Substitute.For <IPositionManager>(); var contractManager = Substitute.For <IContractManager>(); var queueProcessor = Substitute.For <IQueueProcessor>(); queueProcessor .When(x => x.Enqueue(Arg.Any <Action>())) .Do(x => x.Arg <Action>().Invoke()); var dispatcherHelper = Substitute.For <IDispatcherHelper>(); dispatcherHelper .When(x => x.InvokeOnUiThread(Arg.Any <Action>())) .Do(x => x.Arg <Action>().Invoke()); var accountManager = _accountManager ?? Substitute.For <IAccountManager>(); var tradeRecordingService = _tradeRecordingService ?? Substitute.For <ITradeRecordingService>(); var positionsViewModel = new PositionsViewModel(dispatcherHelper, marketDataManager, accountManager, positionsManager, contractManager, queueProcessor, tradeRecordingService); SettingsRepository = _settingsRepository; if (SettingsRepository == null) { SettingsRepository = Substitute.For <ISettingsRepository>(); SettingsRepository.GetAllAsync().Returns(new List <Setting> { new Setting { Key = SettingsViewModel.SettingsKeys.RiskPercentOfAccountSize, Value = "1" }, new Setting { Key = SettingsViewModel.SettingsKeys.RiskMultiplier, Value = "1" } }); } SettingsViewModel = new SettingsViewModel(SettingsRepository); var findSymbolService = Substitute.For <IFindSymbolService>(); var factory = new NewOrderViewModelFactory(dispatcherHelper, queueProcessor, findSymbolService, orderCalculationService, orderManager); var tradeRepository = Substitute.For <ITradeRepository>(); var riskCalculationService = _riskCalculationService ?? Substitute.For <IRiskCalculationService>(); MainViewModel.IsUnitTesting = true; return(new MainViewModel( dispatcherHelper, ConnectionService, orderCalculationService, positionsViewModel, SettingsViewModel, new OrdersListViewModel(dispatcherHelper, queueProcessor, factory, tradeRepository, marketDataManager), riskCalculationService, tradeRecordingService)); }