Exemplo n.º 1
0
 private static void EnsureSameCurrency(Money left, Money right)
 {
     if (left.Currency != right.Currency)
     {
         throw new InvalidOperationException(Texts.InvalidMoneyOperationDifferentCurrencies);
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Subtrai um valor de outro da mesma moeda.
 /// </summary>
 /// <param name="right">Segundo valor.</param>
 /// <returns>O resultado da subtração dos valores, na mesma moeda.</returns>
 public Money Subtract(Money right)
 {
     return this - right;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Soma dois valores da mesma moeda.
 /// </summary>
 /// <param name="right">Segundo valor.</param>
 /// <returns>A soma dos valores, na mesma moeda.</returns>
 public Money Add(Money right)
 {
     return this + right;
 }
Exemplo n.º 4
0
 /// <summary>
 /// Cria uma instância de Money utilizando a mesma moeda que outra instância.
 /// </summary>
 /// <param name="money">Money contendo a moeda a ser mantida.</param>
 /// <param name="amount">A quantidade na moeda.</param>
 /// <returns>O dinheiro na mesma moeda informada.</returns>
 public static Money SameCurrency(Money money, decimal amount)
 {
     return new Money(amount, money.Currency);
 }
Exemplo n.º 5
0
 public void Constructor_NoArgs_Defaults()
 {
     var target = new Money();
     Assert.AreEqual(0, target.Amount);
     Assert.AreEqual("R$", target.Currency);
 }
Exemplo n.º 6
0
 public void Constructor_Amount_DefaultCurrency()
 {
     var target = new Money(1);
     Assert.AreEqual(1, target.Amount);
     Assert.AreEqual("R$", target.Currency);
 }