Exemple #1
0
 public PlayerController(
     IGameResultViewModelBuilder builder,
     IPlayerDetailsViewModelBuilder playerDetailsViewModelBuilder,
     IShowingXResultsMessageBuilder showingXResultsMessageBuilder,
     IPlayerSaver playerSaver,
     IPlayerRetriever playerRetriever,
     IPlayerInviter playerInviter,
     IPlayerEditViewModelBuilder playerEditViewModelBuilder,
     IPlayerSummaryBuilder playerSummaryBuilder,
     ITopPlayerViewModelBuilder topPlayerViewModelBuilder,
     INemesisHistoryRetriever nemesisHistoryRetriever,
     INemesisChangeViewModelBuilder nemesisChangeViewModelBuilder,
     IPlayerDeleter playerDeleter)
 {
     this.builder = builder;
     this.playerDetailsViewModelBuilder = playerDetailsViewModelBuilder;
     this.showingXResultsMessageBuilder = showingXResultsMessageBuilder;
     this.playerSaver                   = playerSaver;
     this.playerRetriever               = playerRetriever;
     this.playerInviter                 = playerInviter;
     this.playerEditViewModelBuilder    = playerEditViewModelBuilder;
     this.playerSummaryBuilder          = playerSummaryBuilder;
     this.topPlayerViewModelBuilder     = topPlayerViewModelBuilder;
     this.nemesisHistoryRetriever       = nemesisHistoryRetriever;
     this.nemesisChangeViewModelBuilder = nemesisChangeViewModelBuilder;
     _playerDeleter = playerDeleter;
 }
 public PlayerController(
     IGameResultViewModelBuilder builder,
     IPlayerDetailsViewModelBuilder playerDetailsViewModelBuilder,
     IShowingXResultsMessageBuilder showingXResultsMessageBuilder,
     IPlayerSaver playerSaver,
     IPlayerRetriever playerRetriever,
     IPlayerInviter playerInviter,
     IPlayerEditViewModelBuilder playerEditViewModelBuilder,
     IPlayerSummaryBuilder playerSummaryBuilder,
     ITopPlayerViewModelBuilder topPlayerViewModelBuilder,
     INemesisHistoryRetriever nemesisHistoryRetriever,
     INemesisChangeViewModelBuilder nemesisChangeViewModelBuilder,
     IPlayerDeleter playerDeleter)
 {
     this.builder = builder;
     this.playerDetailsViewModelBuilder = playerDetailsViewModelBuilder;
     this.showingXResultsMessageBuilder = showingXResultsMessageBuilder;
     this.playerSaver = playerSaver;
     this.playerRetriever = playerRetriever;
     this.playerInviter = playerInviter;
     this.playerEditViewModelBuilder = playerEditViewModelBuilder;
     this.playerSummaryBuilder = playerSummaryBuilder;
     this.topPlayerViewModelBuilder = topPlayerViewModelBuilder;
     this.nemesisHistoryRetriever = nemesisHistoryRetriever;
     this.nemesisChangeViewModelBuilder = nemesisChangeViewModelBuilder;
     _playerDeleter = playerDeleter;
 }
 public PlayerDetailsViewModelBuilder(
     IGameResultViewModelBuilder builder,
     IMinionViewModelBuilder minionViewModelBuilder,
     IMapperFactory mapperFactory)
 {
     _gameResultViewModelBuilder = builder;
     _minionViewModelBuilder     = minionViewModelBuilder;
     _mapperFactory = mapperFactory;
 }
 public PlayerDetailsViewModelBuilder(
     IGameResultViewModelBuilder builder,
     IMinionViewModelBuilder minionViewModelBuilder,
     ITransformer transformer)
 {
     _gameResultViewModelBuilder = builder;
     _minionViewModelBuilder     = minionViewModelBuilder;
     _transformer = transformer;
 }
 public PlayerDetailsViewModelBuilder(
     IGameResultViewModelBuilder builder,
     IMinionViewModelBuilder minionViewModelBuilder, 
     IMapperFactory mapperFactory)
 {
     _gameResultViewModelBuilder = builder;
     _minionViewModelBuilder = minionViewModelBuilder;
     _mapperFactory = mapperFactory;
 }
Exemple #6
0
 public PlayedGameDetailsViewModelBuilder(IGameResultViewModelBuilder playerGameResultBuilder)
 {
     playerResultBuilder = playerGameResultBuilder;
 }
Exemple #7
0
        private void SetItAllUp(WinnerTypes winnerType)
        {
            Stack <int> gameRankStack = new Stack <int>();

            if (winnerType == WinnerTypes.PlayerWin)
            {
                gameRankStack.Push(1);
                gameRankStack.Push(2);
                gameRankStack.Push(3);
            }
            else if (winnerType == WinnerTypes.TeamLoss)
            {
                gameRankStack.Push(2);
                gameRankStack.Push(2);
                gameRankStack.Push(2);
            }
            else if (winnerType == WinnerTypes.TeamWin)
            {
                gameRankStack.Push(1);
                gameRankStack.Push(1);
                gameRankStack.Push(1);
            }

            this.gamingGroup = new GamingGroup
            {
                Id   = this.gamingGroupId,
                Name = "gaming group name"
            };
            this.playedGame = new PlayedGame
            {
                Id                = 11111,
                GameDefinition    = new GameDefinition(),
                GamingGroup       = this.gamingGroup,
                GameDefinitionId  = 2222,
                PlayerGameResults = new List <PlayerGameResult>(),
                GamingGroupId     = this.gamingGroupId,
                Notes             = "some notes" + Environment.NewLine + "some notes on a separate line"
            };

            this.playedGame.PlayerGameResults.Add(new PlayerGameResult()
            {
                GameRank = gameRankStack.Pop(),
                NemeStatsPointsAwarded = 3,
                Id           = 1,
                PlayedGameId = this.playedGame.Id,
                PlayerId     = 1
            });

            this.playedGame.PlayerGameResults.Add(new PlayerGameResult()
            {
                GameRank = gameRankStack.Pop(),
                NemeStatsPointsAwarded = 2,
                Id           = 2,
                PlayedGameId = this.playedGame.Id,
                PlayerId     = 2
            });

            this.playedGame.PlayerGameResults.Add(new PlayerGameResult()
            {
                GameRank = gameRankStack.Pop(),
                NemeStatsPointsAwarded = 1,
                Id           = 3,
                PlayedGameId = this.playedGame.Id,
                PlayerId     = 3,
                PlayedGame   = new PlayedGame()
                {
                    GameDefinition = new GameDefinition()
                    {
                        Id   = 135,
                        Name = "Test game name"
                    }
                }
            });

            this.detailsBuilder = MockRepository.GenerateMock <IGameResultViewModelBuilder>();
            this.builder        = new PlayedGameDetailsViewModelBuilder(this.detailsBuilder);

            int totalPlayerGameResults = this.playedGame.PlayerGameResults.Count;

            for (int i = 0; i < totalPlayerGameResults; i++)
            {
                this.detailsBuilder.Expect(
                    x => x.Build(this.playedGame.PlayerGameResults[i]))
                .Repeat
                .Once()
                .Return(new GameResultViewModel()
                {
                    PlayerId = this.playedGame.PlayerGameResults[i].PlayerId
                });
            }
            this.currentUser = new ApplicationUser()
            {
                CurrentGamingGroupId = this.gamingGroupId
            };

            this.actualViewModel = this.builder.Build(this.playedGame, this.currentUser);
        }
Exemple #8
0
 public PlayerDetailsViewModelBuilder(IGameResultViewModelBuilder builder, IMinionViewModelBuilder minionViewModelBuilder)
 {
     gameResultViewModelBuilder  = builder;
     this.minionViewModelBuilder = minionViewModelBuilder;
 }
 public PlayedGameDetailsViewModelBuilder(IGameResultViewModelBuilder playerGameResultBuilder)
 {
     playerResultBuilder = playerGameResultBuilder;
 }
Exemple #10
0
        public void TestFixtureSetUp()
        {
            AutomapperConfiguration.Configure();
            minionViewModelBuilderMock = MockRepository.GenerateMock<IMinionViewModelBuilder>();
            mapperFactory = MockRepository.GenerateStub<IMapperFactory>();

            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,
                OpposingPlayerActive = false,
                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
            };

            previousNemesisPlayer = new PlayerVersusPlayerStatistics

            {
                OpposingPlayerName = "Previous Nemesis Player",
                OpposingPlayerId = 13,
                NumberOfGamesWonVersusThisPlayer = 0,
                NumberOfGamesLostVersusThisPlayer = 42
            };

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

            var previousNemesis = new Nemesis()
            {
                NemesisPlayerId = previousNemesisPlayer.OpposingPlayerId,
                NumberOfGamesLost = 5,
                LossPercentage = 66,
                NemesisPlayer = new Player()
                {
                    Name = "Bravo Nemesis",
                }
            };

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

            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, mapperFactory);

            playerDetailsViewModel = builder.Build(playerDetails, twitterMinionBraggingUrl, currentUser);
        }
Exemple #11
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);
        }
        private void SetItAllUp(WinnerTypes winnerType)
        {
            Stack<int> gameRankStack = new Stack<int>();
            if (winnerType == WinnerTypes.PlayerWin)
            {
                gameRankStack.Push(1);
                gameRankStack.Push(2);
                gameRankStack.Push(3);
            }else if (winnerType == WinnerTypes.TeamLoss)
            {
                gameRankStack.Push(2);
                gameRankStack.Push(2);
                gameRankStack.Push(2);
            }else if (winnerType == WinnerTypes.TeamWin)
            {
                gameRankStack.Push(1);
                gameRankStack.Push(1);
                gameRankStack.Push(1);
            }

            _gamingGroup = new GamingGroup
            {
                Id = _gamingGroupId,
                Name = "gaming group name"
            };
            _playedGame = new PlayedGame
            {
                Id = 11111,
                GameDefinition = new GameDefinition(),
                GamingGroup = _gamingGroup,
                GameDefinitionId = 2222,
                PlayerGameResults = new List<PlayerGameResult>(),
                GamingGroupId = _gamingGroupId,
                Notes = "some notes" + Environment.NewLine + "some notes on a separate line",
                WinnerType = winnerType
            };

            _playedGame.PlayerGameResults.Add(new PlayerGameResult()
            {
                GameRank = gameRankStack.Pop(),
                NemeStatsPointsAwarded = 3,
                Id = 1,
                PlayedGameId = _playedGame.Id,
                PlayerId = 1
            });

            _playedGame.PlayerGameResults.Add(new PlayerGameResult()
            {
                GameRank = gameRankStack.Pop(),
                NemeStatsPointsAwarded = 2,
                Id = 2,
                PlayedGameId = _playedGame.Id,
                PlayerId = 2
            });

            _playedGame.PlayerGameResults.Add(new PlayerGameResult()
            {
                GameRank = gameRankStack.Pop(),
                NemeStatsPointsAwarded = 1,
                Id = 3,
                PlayedGameId = _playedGame.Id,
                PlayerId = 3,
                PlayedGame = new PlayedGame()
                {
                    GameDefinition = new GameDefinition()
                    {
                        Id = 135,
                        Name = "Test game name"
                    }
                }
            });

            _detailsBuilder = MockRepository.GenerateMock<IGameResultViewModelBuilder>();
            _builder = new PlayedGameDetailsViewModelBuilder(_detailsBuilder);

            int totalPlayerGameResults = _playedGame.PlayerGameResults.Count;
            for (int i = 0; i < totalPlayerGameResults; i++)
            {
                _detailsBuilder.Expect(
                                      x => x.Build(_playedGame.PlayerGameResults[i]))
                              .Repeat
                              .Once()
                              .Return(new GameResultViewModel()
                              {
                                  PlayerId = _playedGame.PlayerGameResults[i].PlayerId
                              });
            }
            _currentUser = new ApplicationUser()
            {
                CurrentGamingGroupId = _gamingGroupId
            };

            _actualViewModel = _builder.Build(_playedGame, _currentUser, false);
        }