Beispiel #1
0
        public void DoServerPoll_AsPacMan_EatSuperApple_ShouldSendMessageThatPacManIsNowSuper()
        {
            var singleAppleLocation = new InitialApple { Lat = 2, Lon = 2, Type = AppleKind.Super };
            var instance = ServerFacadeFactory.CreateGameWithExtraApplesAt(singleAppleLocation);

            instance.CreateGameX("GameName");
            var pacman = instance.JoinGameX("GameName", "PacManName", PlayerRole.PacMan);

            var retVal = instance.UpdateMyWhereabouts(new ServerPollParameters(pacman.PlayerId, singleAppleLocation.Lat, singleAppleLocation.Lon, true));

            Assert.AreEqual("PacManName has eaten a power pellet!", retVal.RecentMessages.Last().Body);
            Assert.AreEqual(GameState.SuperPacMan, retVal.GameState);
        }
Beispiel #2
0
        public void DoServerPoll_AsPacMan_EatTheLastSuperAppleLeftOnBoard_ShouldSendMessageOfGameOverPacManWins()
        {
            var singleAppleLocation = new InitialApple { Lat = 2, Lon = 2, Type = AppleKind.Super };
            var instance = ServerFacadeFactory.CreateGameWithApplesOnlyAt(singleAppleLocation);

            instance.CreateGameX("GameName");
            var pacman = instance.JoinGameX("GameName", "PacManName", PlayerRole.PacMan);

            var retVal = instance.UpdateMyWhereabouts(new ServerPollParameters(pacman.PlayerId, singleAppleLocation.Lat, singleAppleLocation.Lon, true));

            Assert.AreEqual(
                string.Format("Game Over! PacMen win with {0} points!", AddScoreForEatenApplesRule.PointsForEatingSuperApple),
                retVal.RecentMessages.Last().Body);
        }
Beispiel #3
0
        public void DoServerPoll_AsPacMan_EatApple_AddTheCorrectScorePerAppleType(AppleKind kind, int points)
        {
            var singleAppleLocation = new InitialApple { Lat = 2, Lon = 2, Type = kind };
            var instance = ServerFacadeFactory.CreateGameWithApplesOnlyAt(singleAppleLocation, new InitialApple{Lat=3, Lon=3} );

            instance.CreateGameX("GameName");
            var pacman = instance.JoinGameX("GameName", "PacManName", PlayerRole.PacMan);
            var earlyScore = instance.GetGameStateForX(pacman.PlayerId).Score;

            instance.UpdateMyWhereabouts(new ServerPollParameters(pacman.PlayerId, singleAppleLocation.Lat, singleAppleLocation.Lon, true));

            var currentScore = instance.GetGameStateAsObvserverX("GameName").Score;
            Assert.AreEqual(earlyScore + points, currentScore);
        }