public IScoreCategoryCalculator Resolve(ScoreCategories scoreCategory) { var calculator = _calculators.FirstOrDefault(c => c.Type == scoreCategory); if (calculator == null) { throw new ArgumentException($"Score calculator not found for {Enum.GetName(typeof(ScoreCategories), scoreCategory)}"); } return(calculator); }
public TwosScoreCalculator() { Type = ScoreCategories.Twos; }
public AcesScoreCalculator() { Type = ScoreCategories.Aces; }
public FullHouseScoreCalculator() { Type = ScoreCategories.FullHouse; }
public ThreeOfAKindScoreCalculator() { Type = ScoreCategories.ThreeOfAKind; }