Ejemplo n.º 1
0
        public async Task SetRostersWithNoRolesInChannelSucceeds()
        {
            PlayerTeamPair[] playerTeamPairs = new PlayerTeamPair[]
            {
                new PlayerTeamPair(1, "Alice", FirstTeam),
                new PlayerTeamPair(2, "Alan", FirstTeam),
                new PlayerTeamPair(3, "Bob", SecondTeam)
            };
            IEnumerable <IGrouping <string, PlayerTeamPair> > grouping = playerTeamPairs.GroupBy(pair => pair.TeamId);
            IReadOnlyDictionary <string, string> teamIdToNames         = playerTeamPairs
                                                                         .Select(pair => pair.TeamId)
                                                                         .Distinct()
                                                                         .ToDictionary(key => key);

            Mock <IByRoleTeamManager> mockTeamManager = new Mock <IByRoleTeamManager>();

            mockTeamManager
            .Setup(manager => manager.GetTeamIdToNamesForServer())
            .Returns(Task.FromResult(teamIdToNames));
            mockTeamManager
            .Setup(manager => manager.GetPlayerTeamPairsForServer())
            .Returns(Task.FromResult(grouping));

            mockTeamManager
            .Setup(manager => manager.GetTeamIdToNames())
            .Returns(Task.FromResult <IReadOnlyDictionary <string, string> >(new Dictionary <string, string>()));
            mockTeamManager
            .Setup(manager => manager.GetKnownPlayers())
            .Returns(Task.FromResult(Enumerable.Empty <PlayerTeamPair>()));

            IByRoleTeamManager teamManager = mockTeamManager.Object;

            await ValidateDefaultRostersSet(teamManager);
        }