Exemple #1
0
        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);
        }