Esempio n. 1
0
        public async Task TryAddTeam()
        {
            ByCommandTeamManager teamManager = new ByCommandTeamManager();

            Assert.IsTrue(teamManager.TryAddTeam(FirstTeam, out _), "Couldn't add team");

            IReadOnlyDictionary <string, string> teamIdToName = await teamManager.GetTeamIdToNames();

            Assert.IsTrue(teamIdToName.TryGetValue(FirstTeam, out string teamName), "Couldn't find team after adding it");
            Assert.AreEqual(FirstTeam, teamName, "Unexpected team name");
        }
Esempio n. 2
0
        public async Task AddRemoveAndReaddTeam()
        {
            ByCommandTeamManager teamManager = new ByCommandTeamManager();

            Assert.IsTrue(teamManager.TryAddTeam(FirstTeam, out _), "Couldn't add team");

            IReadOnlyDictionary <string, string> teamIdToName = await teamManager.GetTeamIdToNames();

            Assert.IsTrue(teamIdToName.TryGetValue(FirstTeam, out string teamName), "Couldn't find team after adding it");
            Assert.AreEqual(FirstTeam, teamName, "Unexpected team name");

            Assert.IsTrue(teamManager.TryRemoveTeam(FirstTeam, out _), "Couldn't remove team");
            teamIdToName = await teamManager.GetTeamIdToNames();

            Assert.AreEqual(0, teamIdToName.Count, "Remove didn't remove the team");

            Assert.IsTrue(teamManager.TryAddTeam(FirstTeam, out _), "Re-adding a team should succeed");
            teamIdToName = await teamManager.GetTeamIdToNames();

            Assert.IsTrue(
                teamIdToName.TryGetValue(FirstTeam, out teamName), "Couldn't find team after re-adding it");
            Assert.AreEqual(FirstTeam, teamName, "Unexpected team name after re-addition");
        }
Esempio n. 3
0
        public async Task TryReaddTeam()
        {
            ByCommandTeamManager teamManager = new ByCommandTeamManager();

            Assert.IsTrue(teamManager.TryAddTeam(FirstTeam, out _), "Couldn't add team");

            IReadOnlyDictionary <string, string> teamIdToName = await teamManager.GetTeamIdToNames();

            Assert.IsTrue(teamIdToName.TryGetValue(FirstTeam, out string teamName), "Couldn't find team after adding it");
            Assert.AreEqual(FirstTeam, teamName, "Unexpected team name");

            Assert.IsFalse(
                teamManager.TryAddTeam(FirstTeam, out string errorMessage),
                "Re-adding a team should fail");
            Assert.AreEqual(
                $@"Team ""{FirstTeam}"" already exists.", errorMessage);
        }
Esempio n. 4
0
        public async Task CanAddTeam()
        {
            const string teamName = "My Team";

            this.CreateHandler(
                out ReaderCommandHandler handler, out GameState currentGame, out MessageStore messageStore);
            ISelfManagedTeamManager teamManager = new ByCommandTeamManager();

            currentGame.TeamManager = teamManager;

            await handler.AddTeamAsync(teamName);

            IReadOnlyDictionary <string, string> teamIdToName = await teamManager.GetTeamIdToNames();

            Assert.IsTrue(teamIdToName.ContainsKey(teamName), "Team name wasn't added");

            Assert.AreEqual(1, messageStore.ChannelMessages.Count, "Unexpected number of channel messages.");
            string message = messageStore.ChannelMessages.First();

            Assert.AreEqual($@"Added team ""{teamName}"".", message, $"Unexpected message");
        }
Esempio n. 5
0
        public async Task AddingPlayerToRemovedTeam()
        {
            ByCommandTeamManager teamManager = new ByCommandTeamManager();

            Assert.IsTrue(teamManager.TryAddTeam(FirstTeam, out _), "Couldn't add team");

            IReadOnlyDictionary <string, string> teamIdToName = await teamManager.GetTeamIdToNames();

            Assert.IsTrue(teamIdToName.ContainsKey(FirstTeam), "Couldn't find team after adding it");

            Assert.IsTrue(
                teamManager.TryAddPlayerToTeam(FirstPlayerId, FirstPlayerName, FirstTeam),
                "Couldn't add player to team");
            IEnumerable <PlayerTeamPair> pairs = await teamManager.GetKnownPlayers();

            Assert.AreEqual(1, pairs.Count(), "Unexpected number of players");
            PlayerTeamPair pair = pairs.First();

            Assert.AreEqual(FirstPlayerId, pair.PlayerId, "Player should be known");
            Assert.AreEqual(FirstTeam, pair.TeamId, "Player should be on the first team");
            Assert.AreEqual(FirstPlayerName, pair.PlayerDisplayName, "Player should have a name");
        }