public void TestCalculateTotalTransactionFeeShouldReturnCorrectValue() { var calculator = TransactionFeeCalculator.Instance(); var transactionObject = new TransactionObject() { TransactionDate = new DateTime(2018, 2, 1), MerchantName = "SEVEN-S", TransactionAmount = 0 }; var result = calculator.CalculateTotalTransactionFee(transactionObject); result.ShouldBe(0.00m); transactionObject = new TransactionObject() { TransactionDate = new DateTime(2018, 3, 1), MerchantName = "SEVEN-S", TransactionAmount = 200 }; result = calculator.CalculateTotalTransactionFee(transactionObject); result.ShouldBe(31.00m); transactionObject = new TransactionObject() { TransactionDate = new DateTime(2018, 3, 1), MerchantName = "SEVEN-S", TransactionAmount = 200 }; result = calculator.CalculateTotalTransactionFee(transactionObject); result.ShouldBe(2.00m); }
public void TestCalculateTotalTransactionFeeShouldReturnCorrectValue() { var calculator = TransactionFeeCalculator.Instance <TransactionFeeCalculatorCircleK>(); var transactionObject = new TransactionObject() { TransactionDate = new DateTime(2018, 5, 1), MerchantName = "Circle_K", TransactionAmount = 0 }; var result = calculator.CalculateTotalTransactionFee(transactionObject); result.ShouldBe(0.00m); transactionObject = new TransactionObject() { TransactionDate = new DateTime(2018, 10, 1), MerchantName = "Circle_K", TransactionAmount = 200 }; result = calculator.CalculateTotalTransactionFee(transactionObject); result.ShouldBe(30.60m); transactionObject = new TransactionObject() { TransactionDate = new DateTime(2018, 10, 1), MerchantName = "Circle_K", TransactionAmount = 200 }; result = calculator.CalculateTotalTransactionFee(transactionObject); result.ShouldBe(1.60m); }