Esempio n. 1
0
        public void CannotRemoveNonexistentTeam()
        {
            ByCommandTeamManager teamManager = new ByCommandTeamManager();

            Assert.IsFalse(teamManager.TryRemoveTeam(FirstTeam, out string errorMessage), "Remove should've failed");
            Assert.AreEqual(
                $@"Cannot remove team ""{FirstTeam}"" because it's not in the current game.",
                errorMessage,
                "Unexpected error message");
        }
Esempio n. 2
0
        public async Task CannotRemoveTeamWithPlayerOnIt()
        {
            const string playerName = "Alice";

            ByCommandTeamManager teamManager = new ByCommandTeamManager();

            Assert.IsTrue(teamManager.TryAddTeam(FirstTeam, out _), "Couldn't add the team");
            Assert.IsTrue(teamManager.TryAddPlayerToTeam(1, playerName, FirstTeam), "Couldn't add the player");
            Assert.IsFalse(
                teamManager.TryRemoveTeam(FirstTeam, out string message),
                "We shouldn't have been able to remove the team");
            Assert.IsNotNull(message, "We should have an error message");

            string playersTeamName = await teamManager.GetTeamIdOrNull(1);

            Assert.AreEqual(FirstTeam, playersTeamName, "Player should still be on the team");

            string teamNameFromId = await teamManager.GetTeamNameOrNull(FirstTeam);

            Assert.IsNotNull(teamNameFromId, "Team should still be there");
        }
Esempio n. 3
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");
        }