public void Equals_Passing_Valid_Values_Returns_True(Currency.CodeName code) { var left = Currency.Create(code); var right = Currency.Create(code); var isEqual = left.Equals(right); Assert.IsTrue(isEqual); }
public void OperatorNotEqual_Passing_Valid_Values_Returns_True(Currency.CodeName code) { var left = Currency.Create(code); var right = Currency.Create(Currency.CodeName.USD); var isEqual = left != right; Assert.IsTrue(isEqual); }
public void OperatorEqual_Passing_Valid_Distinct_Values_Returns_False(Currency.CodeName code) { var left = Currency.Create(code); var right = Currency.Create(Currency.CodeName.USD); var isEqual = left == right; Assert.IsFalse(isEqual); }
public void Equals_Passing_Valid_Values_Returns_True(double amount, Currency.CodeName code, int numbeOfDecimals) { var amountDecimal = Convert.ToDecimal(amount); var left = Money.Create(amountDecimal, Currency.Create(code), numbeOfDecimals); var right = Money.Create(amountDecimal, Currency.Create(code), numbeOfDecimals); var isEqual = left.Equals(right); Assert.IsTrue(isEqual); }
public void ToString_Passing_Valid_Values_Returns_Currency_String_Symbol(Currency.CodeName code) { var cultureInfo = GetCultureInfo(code); var result = Currency.Create(code); var actual = result.ToString(); Assert.AreEqual(cultureInfo.NumberFormat.CurrencySymbol, actual); }
public void Change_Passing_Valid_Values_Returns_Currency(Currency.CodeName code) { var expected = Currency.CodeName.USD; var actual = Currency.Create(code); actual.ChangeCurrency(expected); Assert.AreEqual(expected.ToString(), actual.Code); }
public void Create_Passing_Valid_Values_Returns_Currency(Currency.CodeName code) { var cultureInfo = GetCultureInfo(code); var actual = Currency.Create(code); Assert.AreEqual(cultureInfo.NumberFormat.CurrencySymbol, actual.Symbol); Assert.AreEqual(code.ToString(), actual.Code); Assert.AreEqual(new RegionInfo(cultureInfo.Name).CurrencyNativeName, actual.Name); }
public void Create_Passing_Valid_Values_Returns_Address(double amount, Currency.CodeName code, int numbeOfDecimals) { var amountDecimal = Convert.ToDecimal(amount); var currency = Currency.Create(code); var actual = Money.Create(amountDecimal, currency, numbeOfDecimals); Assert.AreEqual(amountDecimal, actual.Amount); Assert.AreEqual(currency, actual.Currency); Assert.AreEqual(numbeOfDecimals, actual.NumbeOfDecimals); }
public void OperatorEqual_Passing_Valid_Values_Returns_True(double amount, Currency.CodeName code, int numbeOfDecimals) { var amountDecimal = Convert.ToDecimal(amount); var currency = Currency.Create(code); var left = Money.Create(amountDecimal, currency, numbeOfDecimals); var right = Money.Create(amountDecimal, currency, numbeOfDecimals); var isEqual = left == right; Assert.IsTrue(isEqual); }
public void Change_Passing_Valid_Values_Returns_Address(double amount, Currency.CodeName code, int numbeOfDecimals) { var amountDecimal = Convert.ToDecimal(amount); decimal expectedAmount = 999; var expectedCurrency = Currency.Create(Currency.CodeName.USD); var expectedNumbeOfDecimals = 5; var actual = Money.Create(amountDecimal, Currency.Create(code), numbeOfDecimals); actual .ChangeAmount(expectedAmount) .ChangeCurrency(expectedCurrency) .ChangeNumbeOfDecimals(expectedNumbeOfDecimals); Assert.AreEqual(expectedAmount, actual.Amount); Assert.AreEqual(expectedCurrency, actual.Currency); Assert.AreEqual(expectedNumbeOfDecimals, actual.NumbeOfDecimals); }
public void ToString_Passing_Valid_Values_Returns_Address_String_Format(double amount, Currency.CodeName code, int numbeOfDecimals) { var currency = Currency.Create(code); var amountDecimal = Convert.ToDecimal(amount); var expected = $"{currency.ToString()} {amount}"; var result = Money.Create(amountDecimal, currency, numbeOfDecimals); var actual = result.ToString(); Assert.AreEqual(expected, actual); }
public void Create_Passing_InvalidOrNull_Value_Returns_ApplicationException(double amount, Currency.CodeName code, int numbeOfDecimals) { var amountDecimal = Convert.ToDecimal(amount); var currency = Currency.Create(code); Assert.ThrowsException <ApplicationException>(() => Money.Create(amountDecimal, currency, numbeOfDecimals)); }
public void Create_Passing_InvalidOrNull_Value_Returns_ApplicationException(Currency.CodeName code) { Assert.ThrowsException <ApplicationException>(() => Currency.Create(code)); }
private static CultureInfo GetCultureInfo(Currency.CodeName code) => CultureInfo.GetCultures(CultureTypes.SpecificCultures) .First(culture => new RegionInfo(culture.LCID).ISOCurrencySymbol == code.ToString());