Esempio n. 1
0
 public void SetInitialAmount(AmountState initialAmount)
 {
     if (initialAmount == null || initialAmount.Amount.Currency == Currency)
     {
         InitialAmount = initialAmount;
     }
     else
     {
         throw new Exception("Initial amount is in different currency");
     }
 }
Esempio n. 2
0
        public void SetInitialAmount_WithAllInformation_SuccesfullSet()
        {
            // Arrange
            Bill        bill          = new Bill("PLN");
            AmountState initialAmount = new AmountState(new Money(100, "PLN"), new DateTimeOffset(2010, 10, 10, 10, 10, 10, TimeSpan.Zero));

            // Act
            bill.SetInitialAmount(initialAmount);

            // Assert
            Assert.AreEqual(initialAmount.Amount, bill.InitialAmount.Amount);
            Assert.AreEqual(initialAmount.Date, bill.InitialAmount.Date);
        }
Esempio n. 3
0
        public void SetInitialAmount_SetNull_InitialAmountCleared()
        {
            // Arrange
            Bill        bill          = new Bill("PLN");
            AmountState initialAmount = new AmountState(new Money(100, "PLN"), new DateTimeOffset(2010, 10, 10, 10, 10, 10, TimeSpan.Zero));

            bill.SetInitialAmount(initialAmount);

            // Act
            bill.SetInitialAmount(null);

            // Assert
            Assert.IsNull(bill.InitialAmount);
        }
Esempio n. 4
0
        public void SetInitialAmount_WithDifferentCurrency_ExceptionThrown()
        {
            // Arrange
            Bill        bill          = new Bill("PLN");
            AmountState initialAmount = new AmountState(new Money(100, "USD"), new DateTimeOffset(2010, 10, 10, 10, 10, 10, TimeSpan.Zero));

            // Act
            void setInitialAmount() => bill.SetInitialAmount(initialAmount);

            // Assert
            Exception ex = Assert.Throws <Exception>(() => setInitialAmount());

            Assert.AreEqual(ex.Message, "Initial amount is in different currency");
        }