public async Task ModifyingRiskPercentageOfAccountSizeModifiesRiskPerTrade()
        {
            var settingsRepository  = Substitute.For <ISettingsRepository>();
            var exchangeRateService = Substitute.For <IExchangeRateService>();

            exchangeRateService.GetExchangeRateAsync().Returns(1);

            var accountManager = Substitute.For <IAccountManager>();

            accountManager.RequestAccountSummaryAsync().Returns(new AccountSummary
            {
                NetLiquidation = 10000
            });

            var settingsViewModel = new SettingsViewModel(settingsRepository)
            {
                LastRiskMultiplier       = 1,
                RiskPercentOfAccountSize = 1
            };

            var service = new RiskCalculationService(exchangeRateService, accountManager, settingsViewModel);

            // Act
            await service.RequestDataForCalculationAsync();

            // Assert
            Assert.Equal(100, service.RiskPerTrade);
            settingsViewModel.RiskPercentOfAccountSize = 2;
            Assert.Equal(200, service.RiskPerTrade);
        }
        public void WhenAccountSummaryNotAvailableRiskPerTradeIsCorrect()
        {
            var settingsRepository  = Substitute.For <ISettingsRepository>();
            var exchangeRateService = Substitute.For <IExchangeRateService>();
            var accountManager      = Substitute.For <IAccountManager>();
            var settingsViewModel   = new SettingsViewModel(settingsRepository);

            // Act
            var service = new RiskCalculationService(exchangeRateService, accountManager, settingsViewModel);

            // Assert
            Assert.Equal(0, service.RiskPerTrade);
        }