Add test case to test different time silding window for different cards based n their transaction records

This commit is contained in:
2020-03-22 00:21:22 +11:00
parent 458eb159b6
commit 3ec9a129e5
@@ -54,10 +54,28 @@ public class FraudCheckerTest {
"10d7ce2f43e35fa57d1bbf8b1e2, 2014-04-28T21:15:54, 35.00",
"10d7ce2f43e35fa57d1bbf8b1e2, 2014-04-28T13:15:54, 10.00",
"10d7ce2f43e35fa57d1bbf8b1e2, 2014-04-28T10:15:54, 10.00"
);
BigDecimal threshold = BigDecimal.valueOf(50.00);
List<String> strings = fraudChecker.fraudulentCreditCards(entries, threshold);
assertEquals(Arrays.asList("10d7ce2f43e35fa57d1bbf8b1e2"), strings);
}
@Test
public void differentCardShouldHaveDifferentTimeSlidingWindowWhenCheckFraudCreditCards() {
FraudChecker fraudChecker = new FraudChecker(parser);
List<String> entries = Arrays.asList(
"card11111111111111111111111, 2015-03-29T20:15:54, 30.00",
"card11111111111111111111111, 2015-03-28T20:15:55, 25.00",
"10d7ce2f43e35fa57d1bbf8b1e2, 2014-04-29T20:15:54, 20.00",
"10d7ce2f43e35fa57d1bbf8b1e2, 2014-04-28T21:15:54, 35.00",
"10d7ce2f43e35fa57d1bbf8b1e2, 2014-04-28T13:15:54, 10.00",
"10d7ce2f43e35fa57d1bbf8b1e2, 2014-04-28T10:15:54, 10.00"
);
BigDecimal threshold = BigDecimal.valueOf(50.00);
List<String> strings = fraudChecker.fraudulentCreditCards(entries, threshold);
assertEquals(Arrays.asList("10d7ce2f43e35fa57d1bbf8b1e2", "card11111111111111111111111"), strings);
}
}