Exemple #1
0
        public void I_can_retrieve_daily_orders(string input, int expected)
        {
            var sut   = new DailyPrizeDraw(input);
            var items = sut.Items;

            Assert.AreEqual(expected, items.Count());
        }
Exemple #2
0
        public void system_throws_exception_for_invalid_number_of_orders(string input, string expected)
        {
            var sut = new DailyPrizeDraw(input);

            var ex = Assert.Throws <Exception>(() => sut.CalculatePrizeAmount());

            Assert.AreEqual(expected, ex.Message);
        }
Exemple #3
0
        public void I_can_carry_over_remaining_to_next_day(string input, int expected)
        {
            var previousDay = new DailyPrizeDraw("4 10 5 5 1"); // 5 and 5 remain as eligible to following day
            var sut         = new DailyPrizeDraw(input, previousDay);

            // so : 1 & 5 & 5 => 5 - 1 = 4
            Assert.AreEqual(expected, sut.CalculatePrizeAmount());
        }
Exemple #4
0
        public void I_can_identify_daily_orders_not_matched_for_prizeamount(string input, int expectedCount, int expectedAmount)
        {
            // result is 9: so 10:max and 1:min are out. eligible for further drwas are 5 and 5.
            var sut       = new DailyPrizeDraw(input);
            var remaining = sut.Remaining;

            Assert.AreEqual(expectedCount, remaining.Count());
            Assert.AreEqual(expectedAmount, remaining.Sum());
        }
Exemple #5
0
        public void I_can_calculate_prize_money_for_one_day(string input, int expected)
        {
            var sut = new DailyPrizeDraw(input);

            Assert.AreEqual(expected, sut.CalculatePrizeAmount());
        }
Exemple #6
0
        public void I_can_retrieve_daily_orders_count(string input, int expected)
        {
            var sut = new DailyPrizeDraw(input);

            Assert.AreEqual(expected, sut.OrderCount);
        }