public void AddFee_WhenAmountIsNotPositiveNumber_ShouldReturnNull() { // Arrange var fee = new Fee("Free", DateTime.Now, 100M); var feeType = new DiscountedFee(_merchantDiscounts); // Act var result = feeType.AddFee(fee); // Assert Assert.Null(result); }
public void AddFee_WhenMerchantIsEligibleDiscount_ShouldApplyDiscount(string merchantName, float expectedAmount) { // Arrange var fee = new Fee(merchantName, DateTime.Now, 1M); var feeType = new DiscountedFee(_merchantDiscounts); // Act var result = feeType.AddFee(fee); // Assert Assert.NotNull(result); Assert.Equal((decimal)expectedAmount, result.Amount); }
public void AddFee__WhenMerchantIsNotEligibleDiscount_ShouldNotChangeFeeAmount() { // Arrange var expectedAmount = 100M; var fee = new Fee("XYZ", DateTime.Now, expectedAmount); var feeType = new DiscountedFee(_merchantDiscounts); // Act var result = feeType.AddFee(fee); // Assert Assert.NotNull(result); Assert.Equal(expectedAmount, result.Amount); }