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);
        }
Example #5
0
        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);
        }
Example #6
0
 public bool IsValid(UnsettledBet unsettledBet)
 {
     return(unsettledBet != null && unsettledBet.ToWin >= 1000);
 }