public void TestCalculateAdditionalFirstDayFeeShouldReturnCorrectValue() { var calculator = new TransactionFeeCalculatorChild(); var transactionObject = new TransactionObject() { TransactionDate = new DateTime(2018, 2, 1), MerchantName = "SEVEN", TransactionAmount = 0 }; var result = calculator.CalculateAdditionalFirstDayFee(transactionObject); result.ShouldBe(0.00m); transactionObject = new TransactionObject() { TransactionDate = new DateTime(2018, 2, 1), MerchantName = "SEVEN", TransactionAmount = 200 }; result = calculator.CalculateAdditionalFirstDayFee(transactionObject); result.ShouldBe(0.00m); transactionObject = new TransactionObject() { TransactionDate = new DateTime(2018, 7, 1), MerchantName = "SEVEN", TransactionAmount = 200 }; result = calculator.CalculateAdditionalFirstDayFee(transactionObject); result.ShouldBe(29.00m); result = calculator.CalculateAdditionalFirstDayFee(transactionObject); result.ShouldBe(0.00m); }
public void TestMerchantHasTransactionsForMonthShouldReturnCorrectValue() { var transactionObject = new TransactionObject() { TransactionDate = new DateTime(2018, 10, 1), MerchantName = "SEVEN", TransactionAmount = 0 }; var result = TransactionFeeCalculatorChild.MerchantHasTransactionsForMonth(null); result.ShouldBe(true); result = TransactionFeeCalculatorChild.MerchantHasTransactionsForMonth(transactionObject); result.ShouldBe(false); result = TransactionFeeCalculatorChild.MerchantHasTransactionsForMonth(transactionObject); result.ShouldBe(true); }
public void TestCalculateTransactionFeeShouldReturnCorrectValue() { var transactionObject = new TransactionObject() { TransactionDate = new DateTime(2018, 1, 1), MerchantName = "SEVEN", TransactionAmount = 200 }; var calculator = new TransactionFeeCalculatorChild(); var result = calculator.CalculateTransactionFee(null); result.ShouldBe(0.00m); result = calculator.CalculateTransactionFee(transactionObject); result.ShouldBe(2.00m); transactionObject.TransactionAmount = 1999; result = calculator.CalculateTransactionFee(transactionObject); result.ShouldBe(19.99m); }