Esempio n. 1
0
        public void ItRequiresPlayerGameResults()
        {
            var builder = new PlayerDetailsViewModelBuilder(null, null);

            var exception = Assert.Throws <ArgumentException>(() =>
                                                              builder.Build(new PlayerDetails(), twitterMinionBraggingUrl, currentUser));

            Assert.AreEqual(PlayerDetailsViewModelBuilder.EXCEPTION_PLAYER_GAME_RESULTS_CANNOT_BE_NULL, exception.Message);
        }
Esempio n. 2
0
        public void PlayerDetailsCannotBeNull()
        {
            var builder = new PlayerDetailsViewModelBuilder(null, null);

            var exception = Assert.Throws <ArgumentNullException>(() =>
                                                                  builder.Build(null, twitterMinionBraggingUrl, currentUser));

            Assert.AreEqual("playerDetails", exception.ParamName);
        }
Esempio n. 3
0
        public void ItRequiresPlayerStatistics()
        {
            var builder = new PlayerDetailsViewModelBuilder(null, null);
            var playerDetailsWithNoStatistics = new PlayerDetails()
            {
                PlayerGameResults = new List <PlayerGameResult>()
            };
            var exception = Assert.Throws <ArgumentException>(() =>
                                                              builder.Build(playerDetailsWithNoStatistics, twitterMinionBraggingUrl, currentUser));

            Assert.AreEqual(PlayerDetailsViewModelBuilder.EXCEPTION_PLAYER_STATISTICS_CANNOT_BE_NULL, exception.Message);
        }
Esempio n. 4
0
        public void MinionsCannotBeNull()
        {
            var builder = new PlayerDetailsViewModelBuilder(null, null);
            var playerDetailsWithNoMinions = new PlayerDetails()
            {
                PlayerGameResults = new List <PlayerGameResult>()
            };

            playerDetailsWithNoMinions.PlayerStats = new PlayerStatistics();

            var exception = Assert.Throws <ArgumentException>(() =>
                                                              builder.Build(playerDetailsWithNoMinions, twitterMinionBraggingUrl, currentUser));

            Assert.AreEqual(PlayerDetailsViewModelBuilder.EXCEPTION_MINIONS_CANNOT_BE_NULL, exception.Message);
        }
Esempio n. 5
0
        public void FormerChampionedGamesCannotBeNull()
        {
            var builder = new PlayerDetailsViewModelBuilder(null, null);
            var playerDetailsWithNoChampionedGames = new PlayerDetails()
            {
                PlayerGameResults = new List <PlayerGameResult>(),
                PlayerStats       = new PlayerStatistics(),
                Minions           = new List <Player>(),
                ChampionedGames   = new List <Champion>()
            };

            var exception = Assert.Throws <ArgumentException>(() =>
                                                              builder.Build(playerDetailsWithNoChampionedGames, twitterMinionBraggingUrl, currentUser));

            Assert.AreEqual(PlayerDetailsViewModelBuilder.EXCEPTION_FORMERCHAMPIONED_GAMES_CANNOT_BE_NULL, exception.Message);
        }
Esempio n. 6
0
        public void TestFixtureSetUp()
        {
            AutomapperConfiguration.Configure();
            minionViewModelBuilderMock = MockRepository.GenerateMock <IMinionViewModelBuilder>();

            currentUser = new ApplicationUser()
            {
                CurrentGamingGroupId = gamingGroupId,
                Id = "application user id"
            };

            var gameDefinition1 = new GameDefinition()
            {
                Name = "test game 1",
                Id   = gameDefinitionIdThatIsChampionedByCurrentPlayer,
            };

            gameDefinitionThatIsFormerlyChampionedByCurrentPlayer = new GameDefinition
            {
                Name = "formerly championed game",
                Id   = gameDefinitionIdThatIsFormerlyChampionedByCurrentPlayer
            };
            gameDefinitionThatIsBothCurrentlyAndFormerlyChampionedByCurrentPlayer = new GameDefinition
            {
                Name = "currently and formerly championed game",
                Id   = gameDefinitionIdThatIsBothCurrentlyAndFormerlyChampionedByCurrentPlayer
            };
            var playedGame1 = new PlayedGame()
            {
                Id             = 1,
                GameDefinition = gameDefinition1
            };

            var playedGame2 = new PlayedGame()
            {
                Id = 2,
                GameDefinitionId = gameDefinitionIdThatIsFormerlyChampionedByCurrentPlayer
            };
            var playerGameResults = new List <PlayerGameResult>()
            {
                new PlayerGameResult()
                {
                    PlayedGameId = 12, PlayedGame = playedGame1
                },
                new PlayerGameResult()
                {
                    PlayedGameId = 13, PlayedGame = playedGame2
                }
            };

            normalPlayer = new PlayerVersusPlayerStatistics
            {
                OpposingPlayerName = "Jim",
                OpposingPlayerId   = 1,
                NumberOfGamesWonVersusThisPlayer  = 10,
                NumberOfGamesLostVersusThisPlayer = 10
            };

            playerWithNoGamesPlayed = new PlayerVersusPlayerStatistics
            {
                OpposingPlayerId = 2
            };

            minionPlayer = new PlayerVersusPlayerStatistics
            {
                OpposingPlayerName = "Minion Player",
                OpposingPlayerId   = 5,
                NumberOfGamesWonVersusThisPlayer  = 20,
                NumberOfGamesLostVersusThisPlayer = 0
            };

            nemesisPlayer = new PlayerVersusPlayerStatistics
            {
                OpposingPlayerName = "nemesis player",
                OpposingPlayerId   = 3,
                NumberOfGamesWonVersusThisPlayer  = 0,
                NumberOfGamesLostVersusThisPlayer = 100
            };

            var nemesis = new Nemesis()
            {
                NemesisPlayerId   = nemesisPlayer.OpposingPlayerId,
                NumberOfGamesLost = 3,
                LossPercentage    = 75,
                NemesisPlayer     = new Player()
                {
                    Name = "Ace Nemesis",
                }
            };

            playerDetails = new PlayerDetails()
            {
                Id = playerId,
                ApplicationUserId = currentUser.Id,
                Active            = true,
                Name = "Skipper",
                LongestWinningStreak = 39,
                PlayerGameResults    = playerGameResults,
                PlayerStats          = new PlayerStatistics()
                {
                    TotalGames            = 5,
                    TotalPoints           = 150,
                    AveragePlayersPerGame = 3,
                    TotalGamesLost        = 1,
                    TotalGamesWon         = 4,
                    WinPercentage         = 20
                },
                CurrentNemesis = nemesis,
                Minions        = new List <Player>
                {
                    new Player
                    {
                        Id = minionPlayer.OpposingPlayerId
                    }
                },
                GamingGroupId   = gamingGroupId,
                GamingGroupName = "gaming group name",
                PlayerVersusPlayersStatistics = new List <PlayerVersusPlayerStatistics>
                {
                    normalPlayer,
                    playerWithNoGamesPlayed,
                    nemesisPlayer,
                    minionPlayer
                },
                PlayerGameSummaries = new List <PlayerGameSummary>
                {
                    new PlayerGameSummary
                    {
                        GameDefinitionId = gameDefinitionIdThatIsChampionedByCurrentPlayer
                    },
                    new PlayerGameSummary
                    {
                        GameDefinitionId = gameDefinitionIdThatIsFormerlyChampionedByCurrentPlayer
                    },
                    new PlayerGameSummary
                    {
                        GameDefinitionId = gameDefinitionIdThatIsBothCurrentlyAndFormerlyChampionedByCurrentPlayer
                    }
                }
            };

            gameResultViewModelBuilder
                = MockRepository.GenerateMock <IGameResultViewModelBuilder>();
            gameResultViewModelBuilder.Expect(build => build.Build(playerGameResults[0]))
            .Repeat
            .Once()
            .Return(new Models.PlayedGame.GameResultViewModel()
            {
                PlayedGameId = playerGameResults[0].PlayedGameId
            });
            gameResultViewModelBuilder.Expect(build => build.Build(playerGameResults[1]))
            .Repeat
            .Once()
            .Return(new Models.PlayedGame.GameResultViewModel()
            {
                PlayedGameId = playerGameResults[1].PlayedGameId
            });
            foreach (var player in playerDetails.Minions)
            {
                minionViewModelBuilderMock.Expect(mock => mock.Build(player))
                .Return(new MinionViewModel()
                {
                    MinionPlayerId = player.Id
                });
            }

            var championedGames = new List <Champion>
            {
                new Champion {
                    GameDefinition = gameDefinition1, GameDefinitionId = gameDefinitionIdThatIsChampionedByCurrentPlayer
                },
                new Champion {
                    GameDefinition = gameDefinitionThatIsBothCurrentlyAndFormerlyChampionedByCurrentPlayer, GameDefinitionId = gameDefinitionIdThatIsBothCurrentlyAndFormerlyChampionedByCurrentPlayer
                }
            };

            playerDetails.ChampionedGames = championedGames;

            var formerChampionedGames = new List <GameDefinition>
            {
                gameDefinitionThatIsFormerlyChampionedByCurrentPlayer,
                gameDefinitionThatIsBothCurrentlyAndFormerlyChampionedByCurrentPlayer
            };

            playerDetails.FormerChampionedGames = formerChampionedGames;

            builder = new PlayerDetailsViewModelBuilder(gameResultViewModelBuilder, minionViewModelBuilderMock);

            playerDetailsViewModel = builder.Build(playerDetails, twitterMinionBraggingUrl, currentUser);
        }