Exemplo n.º 1
0
    public void ExamplePart01()
    {
        var input  = @"7,4,9,5,11,17,23,2,0,14,21,24,10,16,13,6,15,25,12,22,18,20,8,19,3,26,1

22 13 17 11  0
 8  2 23  4 24
21  9 14 16  7
 6 10  3 18  5
 1 12 20 15 19

 3 15  0  2 22
 9 18 13 17  5
19  8  7 25 23
20 11 10 24  4
14 21 16 12  6

14 21 17 24  4
10 16 15  9 19
18  8 23 26 20
22 11 13  6  5
 2  0 12  3  7";
        var lines  = input.Split("\n");
        var caller = new BingoCaller(lines);
        var x      = caller.Play();

        x.Item2.Score(x.Item1).Should().Be(4512);
    }
Exemplo n.º 2
0
        public void BingoCallerReturnsCorrectString(int number, string expected)
        {
            var sut    = new BingoCaller(new FakeRandom(number));
            var actual = sut.GetNumber();

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 3
0
    public void Day04Part02()
    {
        var lines  = System.IO.File.ReadAllLines("data/day04.txt");
        var caller = new BingoCaller(lines);
        var x      = caller.Play();

        x.Item2.Score(x.Item1).Should().Be(8468);
    }
Exemplo n.º 4
0
        public void RandomNumberGeneratorReturnsEmptyStringWhenAllNumbersAreCalled()
        {
            var sut = new BingoCaller(new Random());

            for (var i = 1; i <= 75; i++)
            {
                sut.GetNumber();
            }

            Assert.AreEqual("", sut.GetNumber());
        }
Exemplo n.º 5
0
        public void RandomNumberGeneratorReturnsAllNumbersOnlyOnce()
        {
            var list = new List <string>();
            var sut  = new BingoCaller(new Random());

            for (var i = 1; i <= 75; i++)
            {
                list.Add(sut.GetNumber());
            }

            Assert.AreEqual(list.Count, list.Distinct().Count());
        }
Exemplo n.º 6
0
        public void EachNumberIsBetween1And75()
        {
            var caller = new BingoCaller(new Random());

            for (var i = 1; i <= 75; i++)
            {
                var number = caller.GetNumber();
                var n      = Convert.ToInt32(number.Substring(1));
                Assert.LessOrEqual(1, n);
                Assert.GreaterOrEqual(75, n);
            }
        }