예제 #1
0
        public static string Name(this DiceCombination combination)
        {
            var attribute = combination
                            .GetType()
                            .GetMember(combination.ToString())[0]
                            .GetCustomAttributes(typeof(DisplayAttribute), false)[0] as DisplayAttribute;

            return(attribute.ToString());
        }
예제 #2
0
        public void LazyAssTest()
        {
            DiceCombination previous = DiceCombination.None;

            foreach (var combination in (Enum.GetValues(typeof(DiceCombination))).Cast <int>().Where(x => x > 0).OrderBy(x => x))
            {
                Assert.True(combination > (int)previous);
                previous = (DiceCombination)combination;
            }
        }
예제 #3
0
        public void DoesNotOccurWhenRollingFourOrMoreOfTheSameDie(DieRoll[] dice, DiceCombination diceCombination)
        {
            var diceProvider = new MockDiceProvider(dice);
            var diceProc     = new RulesProcessor(diceProvider);
            var diceGen      = new DiceRollGenerator(diceProvider);
            var roll         = diceGen.Roll();

            var result = diceProc.CheckRollResult(roll);

            Assert.True(result.DiceCombination == diceCombination, $"Expected {diceCombination} combination, but got {result.DiceCombination} instead.");
        }
예제 #4
0
        public IActionResult RollCombinationIndividual()
        {
            return(NotFound());

            var combination = new DiceCombination();

            for (int i = 0; i < 10; i++)
            {
                combination.Dice.Add(new DiceCollection(i + 2, i + 2));
            }

            return(Ok(combination.RollAllIndividual()));
        }
예제 #5
0
 public DieRollResult(DiceCombination diceCombination, int points)
 {
     DiceCombination = diceCombination;
     Points          = points;
 }