Esempio n. 1
0
        private static void Play(Game game)
        {
            var guessService = new GuessService();

            GuessResult result = null;

            Console.WriteLine($"Gissa ett tal mellan {game.MinRandomNumber} och {game.MaxRandomNumber}");

            while (game.GameState == GameState.OnGoing)
            {
                var guesses = new List <int>();

                for (var i = 0; i < game.Players; i++)
                {
                    Console.WriteLine($"Spelare {i + 1} gissar");
                    guesses.Add(ReadInteger(game.MinRandomNumber, game.MaxRandomNumber));
                }

                result = guessService.Guess(GuessModel.Create(game, guesses.ToArray()));

                if (game.GameState == GameState.OnGoing)
                {
                    Console.WriteLine($"Spelare {result.PlayerId} var närmast");
                }
            }

            Console.WriteLine($"Spelare {result.PlayerId} vann och var närmast {game.CorrectNumber}");
        }
Esempio n. 2
0
        public void Guess_ShouldReturnClosestGuest()
        {
            var rngServiceMock = new Mock <IRngService>();

            rngServiceMock.Setup(x => x.Generate(It.IsAny <int>(), It.IsAny <int>())).Returns(10);

            IGameFactory gameFactory = new GameFactory(rngServiceMock.Object);
            var          game        = gameFactory.Create(null);

            IGuessService guessService = new GuessService();
            var           result       = guessService.Guess(GuessModel.Create(game, 1, 9));

            Assert.AreEqual(2, result.PlayerId);
        }
Esempio n. 3
0
        public void Guess_CorrectGuess_GameStateEqualsCompleted()
        {
            var rngServiceMock = new Mock <IRngService>();

            rngServiceMock.Setup(x => x.Generate(It.IsAny <int>(), It.IsAny <int>())).Returns(10);

            IGameFactory gameFactory = new GameFactory(rngServiceMock.Object);
            var          game        = gameFactory.Create(null);

            IGuessService guessService = new GuessService();

            guessService.Guess(GuessModel.Create(game, 1, 10));

            Assert.AreEqual(GameState.Completed, game.GameState);
        }
Esempio n. 4
0
        public void Guess_TurnsLeftShouldCountDown()
        {
            var rngServiceMock = new Mock <IRngService>();

            rngServiceMock.Setup(x => x.Generate(It.IsAny <int>(), It.IsAny <int>())).Returns(10);

            IGameFactory gameFactory = new GameFactory(rngServiceMock.Object);
            var          game        = gameFactory.Create(null);

            IGuessService guessService = new GuessService();

            guessService.Guess(GuessModel.Create(game, 1, 9));

            Assert.AreEqual(2, game.TurnsLeft);
        }
Esempio n. 5
0
        public void Guess_AllTurnsUsed_GameStateEqualsCompleted()
        {
            var rngServiceMock = new Mock <IRngService>();

            rngServiceMock.Setup(x => x.Generate(It.IsAny <int>(), It.IsAny <int>())).Returns(10);

            IGameFactory gameFactory = new GameFactory(rngServiceMock.Object);
            var          game        = gameFactory.Create(null);

            IGuessService guessService = new GuessService();

            var turns = game.TurnsLeft;

            for (int i = 0; i < turns; i++)
            {
                guessService.Guess(GuessModel.Create(game, 1, 9));
            }

            Assert.AreEqual(GameState.Completed, game.GameState);
        }