Add some more test cases

This commit is contained in:
2020-03-29 10:55:22 +11:00
parent 28681ea06f
commit 7c3b74e4b8
@@ -33,6 +33,31 @@ public class FraudCheckerTest {
assertEquals(Arrays.asList("10d7ce2f43e35fa57d1bbf8b1e2"), strings);
}
@Test
public void shouldReturnFraudulentCreditCardWhenThereIsOnlyOneEntryButOverTheThreshold() {
FraudChecker fraudChecker = new FraudChecker(parser);
List<String> entries = Arrays.asList(
"10d7ce2f43e35fa57d1bbf8b1e2, 2014-04-29T16:15:54, 80.00"
);
BigDecimal threshold = BigDecimal.valueOf(40.00);
List<String> strings = fraudChecker.fraudulentCreditCards(entries, threshold);
assertEquals(Arrays.asList("10d7ce2f43e35fa57d1bbf8b1e2"), strings);
}
@Test
public void shouldReturnFraudulentCreditCardWhenMultipleSlidingTimeRangesOverTheThreshold() {
FraudChecker fraudChecker = new FraudChecker(parser);
List<String> entries = Arrays.asList(
"10d7ce2f43e35fa57d1bbf8b1e2, 2014-04-29T10:15:54, 20.00",
"10d7ce2f43e35fa57d1bbf8b1e2, 2014-04-29T20:15:54, 30.00",
"10d7ce2f43e35fa57d1bbf8b1e2, 2015-01-20T16:15:54, 10.00",
"10d7ce2f43e35fa57d1bbf8b1e2, 2015-01-20T19:15:54, 35.00"
);
BigDecimal threshold = BigDecimal.valueOf(40.00);
List<String> strings = fraudChecker.fraudulentCreditCards(entries, threshold);
assertEquals(Arrays.asList("10d7ce2f43e35fa57d1bbf8b1e2"), strings);
}
@Test
public void shouldIgnoreTheCardWhenTheTotalIsEqualToTheThreshold() {
FraudChecker fraudChecker = new FraudChecker(parser);