public RiskType Check(UnsettledBet bet, Dictionary <int, SettledBetReport> history) { if (bet.ToWin >= _threshold) { return(RiskType.BigBet); } return(RiskType.None); }
public RiskType Check(UnsettledBet bet, Dictionary <int, SettledBetReport> history) { if (history.ContainsKey(bet.CustomerId) && history[bet.CustomerId].IsUnusual) { return(RiskType.Risky); } return(RiskType.None); }
public void ShouldReturnExpectedResult(int prize, bool expected) { var bet = new UnsettledBet { ToWin = prize }; var result = _rule.IsValid(bet); Assert.AreEqual(expected, result); }
public void ShouldReturnExpectedResult(int averageStake, int currentStake, bool expected) { var bet = new UnsettledBet { Stake = currentStake }; var statistics = new Customer { AverageStake = averageStake }; var result = _rule.IsValid(new CustomerUnsettledBet { Customer = statistics, UnsettledBet = bet }); Assert.AreEqual(expected, result); }
public RiskType Check(UnsettledBet bet, Dictionary <int, SettledBetReport> history) { if (history.ContainsKey(bet.CustomerId)) { var stake = history[bet.CustomerId].AvgStake; if (bet.Stake > HighlyUnusualRate * stake) { return(RiskType.HighlyUnusual); } if (bet.Stake > UnusualRate * stake) { return(RiskType.Unusual); } } return(RiskType.None); }
public bool IsValid(UnsettledBet unsettledBet) { return(unsettledBet != null && unsettledBet.ToWin >= 1000); }