Esempio n. 1
0
        public void CanDoAFullCicle()
        {
            var validator = Substitute.For <IWordValidator>();

            validator.Validate(Arg.Any <string>()).Returns(true);

            var initialReels = new List <string>
            {
                "aaa",
                "bbb",
                "ccc",
            };

            var reels = new SingleMatchReels(initialReels, validator);

            reels.Play("a");
            Assert.Equal("baa", reels.Get());

            reels.Play("b");
            Assert.Equal("caa", reels.Get());

            reels.Play("c");
            Assert.Equal("aaa", reels.Get());

            reels.Play("a");
            Assert.Equal("baa", reels.Get());
        }
Esempio n. 2
0
        public void SpinWhenIsCorrect()
        {
            var validator = Substitute.For <IWordValidator>();

            validator.Validate(Arg.Any <string>()).Returns(true);

            var initialReels = new List <string>
            {
                "abc",
                "def",
                "ghi",
            };

            var reels = new SingleMatchReels(initialReels, validator);

            reels.Play("a");
            Assert.Equal("dbc", reels.Get());

            reels.Play("dbc");
            Assert.Equal("gef", reels.Get());
        }
Esempio n. 3
0
        public void DoesNotSpinSameLetter()
        {
            var validator = Substitute.For <IWordValidator>();

            validator.Validate(Arg.Any <string>()).Returns(true);

            var initialReels = new List <string>
            {
                "aaa",
                "bbb",
                "ccc",
            };

            var reels = new SingleMatchReels(initialReels, validator);

            reels.Play("aa");
            Assert.Equal("bba", reels.Get());

            reels.Play("b");
            Assert.Equal("cba", reels.Get());
        }
Esempio n. 4
0
        public void GetCurrentReelsTest()
        {
            var validator = Substitute.For <IWordValidator>();

            validator.Validate(Arg.Any <string>()).Returns(true);

            var initialReels = new List <string>
            {
                "abc",
                "def",
                "ghi",
            };

            var reels = new SingleMatchReels(initialReels, validator);

            Assert.Equal("abc", reels.Get());
        }
Esempio n. 5
0
        public void Suffle()
        {
            var validator = Substitute.For <IWordValidator>();

            validator.Validate(Arg.Any <string>()).Returns(true);

            var initialReels = new List <string>
            {
                "aaa",
                "bbb",
                "ccc",
            };

            var reels = new SingleMatchReels(initialReels, validator);

            var random = Substitute.For <Random>();

            random.Next(Arg.Any <int>()).Returns(1, 2, 0);
            reels.Suffle(random);

            Assert.Equal("bca", reels.Get());
        }