public void T4() { // Arrange var viewModel = new TradeDetailsViewModel(SubRunner, new GetNameViewModel(), new AddMarketViewModel()); // Assert Assert.True(viewModel.TradeDetailsValidator.IsTradeValid); }
public void T6() { // Arrange var viewModel = new TradeDetailsViewModel(SubRunner, new GetNameViewModel(), new AddMarketViewModel()); // var actual = viewModel.CloseDate; // Assert Assert.Equal(DateTime.Today, actual); }
public void T0() { // Arrange var viewModel = new TradeDetailsViewModel(SubRunner, new GetNameViewModel(), new AddMarketViewModel()); // Act var actual = viewModel.Markets; // Assert Assert.Empty(actual); }
public void T1() { // Arrange var addTradeViewModel = new TradeDetailsViewModel(SubRunner, new GetNameViewModel(), new AddMarketViewModel()); var viewModel = new MainWindowViewModel(SubRunner, SubTradeManager, addTradeViewModel, SubPlot); // Act addTradeViewModel.ConfirmNewTradeCommand.Execute(null !); // Assert viewModel.TradeManager.Received(1).AddNewTrade(addTradeViewModel); }
public void T5() { // Arrange var addTradeViewModel = new TradeDetailsViewModel(SubRunner, new GetNameViewModel(), new AddMarketViewModel()); var viewModel = new MainWindowViewModel(SubRunner, SubTradeManager, addTradeViewModel, SubPlot); // Act var actual = addTradeViewModel.Strategies; // Assert Assert.Equal(viewModel.TradeFiltererViewModel.Strategies, actual); }
public void T0() { // Arrange var runner = SubRunner; var addTradeViewModel = new TradeDetailsViewModel(runner, new GetNameViewModel(), new AddMarketViewModel()); var viewModel = new MainWindowViewModel(runner, SubTradeManager, addTradeViewModel, SubPlot); // Act viewModel.RemoveTradeCommand.Execute(null !); // Assert runner.Received(1).RunForResult(viewModel, Arg.Any <Message>()); }
public void T0() { // Arrange var runner = SubRunner; var addTradeViewModel = new TradeDetailsViewModel(runner, new GetNameViewModel(), new AddMarketViewModel()); var viewModel = new MainWindowViewModel(runner, SubTradeManager, addTradeViewModel, SubPlot); // Act viewModel.EditTradeCommand.Execute(null !); // Assert runner.Received(1).GetTradeDetails(addTradeViewModel); }
public void T1() { // Arrange var runner = SubRunner; var addMarketViewModel = new AddMarketViewModel(); var viewModel = new TradeDetailsViewModel(runner, new GetNameViewModel(), addMarketViewModel); // Act viewModel.AddNewMarketCommand.Execute(null !); // Assert runner.Received(1).GetNewMarket(addMarketViewModel, "Enter Market Details"); }
public void T1() { // Arrange var runner = SubRunner; var getNameVm = new GetNameViewModel(); var viewModel = new TradeDetailsViewModel(runner, getNameVm, new AddMarketViewModel()); // Act viewModel.AddNewStrategyCommand.Execute(null !); // Assert runner.Received(1).GetNewName(getNameVm, "Enter Strategy Name"); }
public void T3() { // Arrange var viewModel = new TradeDetailsViewModel(SubRunner, new GetNameViewModel(), new AddMarketViewModel()); var catcher = Catcher.Simple; viewModel.TradeAdded += catcher.Catch; // Act viewModel.ConfirmNewTradeCommand.Execute(null !); // Assert catcher.CaughtEmpty(viewModel); }
public void T2() { // Arrange var getNameVm = new GetNameViewModel(); getNameVm.Name = "test name"; var viewModel = new TradeDetailsViewModel(SubRunner, getNameVm, new AddMarketViewModel()); // Act viewModel.AddNewStrategyCommand.Execute(null !); // Assert Assert.Equal(string.Empty, getNameVm.Name); }
public void T2() { // Arrange var addMarketViewModel = new AddMarketViewModel(); addMarketViewModel.Name = "test name"; var viewModel = new TradeDetailsViewModel(SubRunner, new GetNameViewModel(), addMarketViewModel); // Act viewModel.AddNewMarketCommand.Execute(null !); // Assert Assert.Equal(string.Empty, addMarketViewModel.Name); }
public void T3() { // Arrange var addMarketViewModel = new AddMarketViewModel(); const string testName = "test name"; var viewModel = new TradeDetailsViewModel(SubRunner, new GetNameViewModel(), addMarketViewModel); viewModel.AddNewMarketCommand.Execute(null !); addMarketViewModel.Name = testName; // Act addMarketViewModel.ConfirmMarketCommand.Execute(null !); // Assert Assert.Equal(testName, viewModel.Markets[^ 1].Name);
private static Optional <Execution> GetCloseExecution(TradeDetailsViewModel tradeDetails) { var closeDateTime = new DateTime(tradeDetails.CloseDate.Year, tradeDetails.CloseDate.Month, tradeDetails.CloseDate.Day, tradeDetails.CloseTime.Hour, tradeDetails.CloseTime.Minute, tradeDetails.CloseTime.Second); var close = new Execution(0, closeDateTime, 0); var fieldIsEmpty = false; tradeDetails.CloseLevel.IfExistsThen(x => { close.Level = x; }) .IfEmpty(() => fieldIsEmpty = true); return(fieldIsEmpty ? Option.None <Execution>() : Option.Some(close)); }
public void T3() { // Arrange var getNameVm = new GetNameViewModel(); const string testName = "test name"; var viewModel = new TradeDetailsViewModel(SubRunner, getNameVm, new AddMarketViewModel()); viewModel.AddNewStrategyCommand.Execute(null !); getNameVm.Name = testName; // Act getNameVm.ConfirmNewNameCommand.Execute(null !); // Assert Assert.Equal(testName, viewModel.Strategies[^ 1].Name);
public void T1() { // Arrange var runner = SubRunner; var addTradeViewModel = new TradeDetailsViewModel(runner, new GetNameViewModel(), new AddMarketViewModel()); var viewModel = new MainWindowViewModel(runner, SubTradeManager, addTradeViewModel, SubPlot); runner.RunForResult(viewModel, Arg.Is <Message>(m => m.Is(Messages.ConfirmClearAllTrades))).Returns(true); // Act viewModel.ClearCommand.Execute(null !); // Assert viewModel.TradeManager.Received(1).ClearAll(); }
public void T2() { // Arrange var runner = SubRunner; var addTradeViewModel = new TradeDetailsViewModel(runner, new GetNameViewModel(), new AddMarketViewModel()); addTradeViewModel.IsEditing = true; var viewModel = new MainWindowViewModel(runner, SubTradeManager, addTradeViewModel, SubPlot); // Act viewModel.AddNewTradeCommand.Execute(null !); // Assert Assert.False(addTradeViewModel.IsEditing); }
public void T2() { // Arrange var runner = SubRunner; var addTradeViewModel = new TradeDetailsViewModel(runner, new GetNameViewModel(), new AddMarketViewModel()); var viewModel = new MainWindowViewModel(runner, SubTradeManager, addTradeViewModel, SubPlot); runner.RunForResult(viewModel, Arg.Is <Message>(m => m.Is(Messages.ConfirmRemoveTrade))).Returns(false); // Act viewModel.RemoveTradeCommand.Execute(null !); // Assert viewModel.TradeManager.DidNotReceive().RemoveTrade(); }
public void T13() { // Arrange var viewModel = new TradeDetailsViewModel(SubRunner, new GetNameViewModel(), new AddMarketViewModel()) { SelectedMarket = TestMarket }; viewModel.Open.Level = 150; viewModel.CloseLevel = Option.Some(100.0); // Act viewModel.High = Option.Some(100.0); // Assert Assert.True(viewModel.TradeDetailsValidator.HighHasError); }
public void AddNewTrade(TradeDetailsViewModel tradeDetails) { var close = GetCloseExecution(tradeDetails); var openDateTime = new DateTime(tradeDetails.Open.Date.Year, tradeDetails.Open.Date.Month, tradeDetails.Open.Date.Day, tradeDetails.Open.Time.Hour, tradeDetails.Open.Time.Minute, tradeDetails.Open.Time.Second); var trade = new Trade(tradeDetails.SelectedMarket, tradeDetails.SelectedStrategy, new Levels(tradeDetails.Levels.Entry, tradeDetails.Levels.Stop, tradeDetails.Levels.Target), new Execution(tradeDetails.Open.Level, openDateTime, tradeDetails.Open.Size), close, (tradeDetails.High, tradeDetails.Low), tradeDetails.SelectedEntryOrderType); _unfilteredTrades.Add(trade); DataConnection.AddTrade(trade); UpdateDateRange(tradeDetails.Open.Date); FilterTrades(Filters); }
public void T1() { // Arrange var runner = SubRunner; var addTradeViewModel = new TradeDetailsViewModel(runner, new GetNameViewModel(), new AddMarketViewModel()); var viewModel = new MainWindowViewModel(runner, SubTradeManager, addTradeViewModel, SubPlot); const double testEntry = 666.66; var testTrade = TestOpenTrade; testTrade.Levels.Entry = testEntry; viewModel.TradeManager.SelectedTrade = testTrade; // Act viewModel.EditTradeCommand.Execute(null !); // Assert Assert.Equal(testEntry, addTradeViewModel.Levels.Entry); }
public void T5() { // Arrange var viewModel = new TradeDetailsViewModel(SubRunner, new GetNameViewModel(), new AddMarketViewModel()) { SelectedMarket = TestMarket }; viewModel.Levels.Stop = 200; viewModel.Levels.Target = 100; viewModel.Open.Level = 150; // Act viewModel.CloseLevel = Option.Some(200.00); // Assert Assert.True(viewModel.IsHighFixed); }
public void T8() { // Arrange var viewModel = new TradeDetailsViewModel(SubRunner, new GetNameViewModel(), new AddMarketViewModel()) { SelectedMarket = TestMarket }; viewModel.Levels.Stop = 100; viewModel.Levels.Target = 200; viewModel.Open.Level = 150; viewModel.CloseLevel = Option.Some(100.0); // Act viewModel.CloseLevel = Option.None <double>(); // Assert Assert.IsType <Option.OptionNone <double> >(viewModel.High); }
protected override void OnStartup(StartupEventArgs e) { EventManager.RegisterClassHandler(typeof(TextBox), UIElement.GotFocusEvent, new RoutedEventHandler(TextBox_GotFocus)); var context = GetDispatcherContext(); var runner = new Runner(context); Window window = new MainWindow(); window.Show(); var tradeManager = new TradeManager(); var getNameViewModel = new GetNameViewModel(); var addMarketViewModel = new AddMarketViewModel(); var tradeDetailsViewModel = new TradeDetailsViewModel(runner, getNameViewModel, addMarketViewModel); var plot = new TradePlot(); var mainViewModel = new MainWindowViewModel(runner, tradeManager, tradeDetailsViewModel, plot); window.DataContext = mainViewModel; }
public TradeDetailsViewModel GetTradeDetailsList(int pageNo, int pageSize, long tradeId, long levelId) { int totalItem = 0; List <TradeDetails> tradeDetailsList = new List <TradeDetails>(); List <Trade> tradeList = new List <Trade>(); if (tradeId > 0 && levelId > 0) { tradeDetailsList = _genericTradeDetailsRepo.Get(m => m.TradeId == tradeId && m.LevelId == levelId, o => o.OrderBy(m => m.Id), "Level", pageSize * pageNo, pageSize).ToList(); totalItem = _genericTradeDetailsRepo.Get(m => m.TradeId == tradeId && m.LevelId == levelId).Count(); } else if (tradeId > 0) { tradeDetailsList = _genericTradeDetailsRepo.Get(m => m.TradeId == tradeId, o => o.OrderBy(m => m.Id), "Level", pageSize * pageNo, pageSize).ToList(); totalItem = _genericTradeDetailsRepo.Get(m => m.TradeId == tradeId).Count(); } else if (levelId > 0) { tradeDetailsList = _genericTradeDetailsRepo.Get(m => m.LevelId == levelId, o => o.OrderBy(m => m.Id), "Level", pageSize * pageNo, pageSize).ToList(); totalItem = _genericTradeDetailsRepo.Get(m => m.LevelId == levelId).Count(); } else { tradeDetailsList = _genericTradeDetailsRepo.Get(null, o => o.OrderBy(m => m.Id), "Level", pageSize * pageNo, pageSize).ToList(); totalItem = _genericTradeDetailsRepo.GetCount(); } tradeList = _genericTradeRepo.Get().ToList(); TradeDetailsViewModel viewModel = new TradeDetailsViewModel() { TradeDetailsList = tradeDetailsList, TotalItem = totalItem, TotalPageNo = (int)Math.Ceiling((double)totalItem / pageSize) }; return(viewModel); }