public void Replenish_Test([Values(5000, 1000, -200, -5000)] double input) { var currencyAccount = new CurrencyAccount("RUB", 10000); var expectedResult = currencyAccount.Value + input; purserManager.ReplanishCurrencyAccount(currencyAccount, input); Assert.AreEqual(expectedResult, currencyAccount.Value); }
public async Task <CurrencyAccount> AddAccountCurrencyForUser(User user, CurrencyAccount currencyAccount) { await InitCurrencies(); var checkCorrectCurrency = currencies.FirstOrDefault(x => x.CurrencyName.Equals(currencyAccount.CurrencyName)); if (checkCorrectCurrency == null) { throw new Exception("Неизвестный тип валюты!"); } user.Purse.CurrencyAccounts.Add(currencyAccount); return(currencyAccount); }
public async Task ConvertCurrencies_Test([Values(1.5)] double rateForUSD, [Values(20)] double rateForRUB) { var user = new User("Test"); currencyService.AddCurrencyToList(new Currency("EUR", 1)); currencyService.AddCurrencyToList(new Currency("USD", rateForUSD)); currencyService.AddCurrencyToList(new Currency("RUB", rateForRUB)); var currencyAccountRUB = new CurrencyAccount("RUB", 10000); await purserManager.AddAccountCurrencyForUser(user, currencyAccountRUB); await purserManager.ConvertCurrencies(user, "RUB", "USD", 2000); var expectedResult = (2000 / rateForRUB) * rateForUSD; var realResult = user.Purse.CurrencyAccounts.FirstOrDefault(x => x.CurrencyName.Equals("USD")); Assert.AreEqual(expectedResult, realResult.Value); }
private void ChangeWalletBalance(Currency currencyType, decimal value) { var currencyAccount = _wallet.CurrencyAccounts.FirstOrDefault(c => c.CurrencyType == currencyType); if (currencyAccount == null) { var newCurrency = new CurrencyAccount() { CurrencyAccountId = Guid.NewGuid(), CurrencyType = currencyType, Value = value, WalletId = _wallet.ClientId }; _wallet.CurrencyAccounts.Add(newCurrency); } else { currencyAccount.Value += value; } }
public async Task <IActionResult> CreateCurrencyAccount(CurrencyAccount currencyAccount, string userName) { if (ModelState.IsValid) { var user = _userManager.GetUser(userName); if (user == null) { return(BadRequest("Указанного пользователя не существует")); } try { await _purseManager.AddAccountCurrencyForUser(user, currencyAccount); } catch (Exception ex) { return(BadRequest(ex.Message)); } return(Ok(user.Purse)); } return(BadRequest()); }
public void ReplanishCurrencyAccount(CurrencyAccount currencyAccount, double value) { currencyAccount.Value += value; }
public void Setup() { currencyAccount = new CurrencyAccount(); currencyAccount.AccountConfig(-100, 100); currencyDataService = new CurrencyDataService(); }