示例#1
0
        public void Should_Be_Unique_Ids_For_Players()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(2, "Time 2", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 2, "Player 1", new DateTime(1992, 5, 24), 100, 20000.99m);
            Assert.Throws <UniqueIdentifierException>(() =>
                                                      manager.AddPlayer(1, 2, "Player 1", new DateTime(1992, 5, 24), 100, 20000.99m));
        }
示例#2
0
        public void Should_Be_Unique_Ids_For_Player()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Player 1", DateTime.Now, 1, 1000);
            Assert.Throws <UniqueIdentifierException>(() =>
                                                      manager.AddPlayer(1, 1, "Player 1", DateTime.Now, 1, 1000));
        }
        public void AddPlayer_Identificador_Utilizado_Ja_Existe()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Jogador", DateTime.Today, 0, 0);

            Assert.Throws <UniqueIdentifierException>(() =>
                                                      manager.AddPlayer(1, 1, "Jogador", DateTime.Today, 0, 0));
        }
示例#4
0
        public void Should_Be_Player_Salary()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Player 1", DateTime.Now, 1, 1001);
            manager.AddPlayer(2, 1, "Player 2", DateTime.Now, 1, 1000);

            Assert.Equal(1001, manager.GetPlayerSalary(1));
        }
        public void GetTopPlayers_Top_8()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddTeam(2, "Time 2", DateTime.Now, "cor 1", "cor 2");
            manager.AddTeam(3, "Time 3", DateTime.Now, "cor 1", "cor 2");

            manager.AddPlayer(1, 1, "Jogador", DateTime.Today, 10, 10);
            manager.AddPlayer(2, 1, "Jogador", DateTime.Today, 05, 10);
            manager.AddPlayer(3, 1, "Jogador", DateTime.Today, 30, 10);
            manager.AddPlayer(4, 2, "Jogador", DateTime.Today, 50, 10);
            manager.AddPlayer(5, 2, "Jogador", DateTime.Today, 10, 10);
            manager.AddPlayer(6, 2, "Jogador", DateTime.Today, 40, 10);
            manager.AddPlayer(7, 3, "Jogador", DateTime.Today, 10, 10);
            manager.AddPlayer(8, 3, "Jogador", DateTime.Today, 50, 10);
            manager.AddPlayer(9, 3, "Jogador", DateTime.Today, 05, 05);

            var topPlayerId = new List <long>
            {
                4, 8, 6, 3, 1, 5, 7, 2
            };

            var result = manager.GetTopPlayers(8);

            Assert.Equal(topPlayerId, result);
        }
        public void Should_Be_Valid_Player_When_Set_Captain()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Jogador 1", DateTime.Today, 0, 0);
            manager.AddPlayer(2, 1, "Jogador 1", DateTime.Today, 0, 0);
            manager.SetCaptain(1);
            manager.SetCaptain(2);

            Assert.Equal(2, manager.GetTeamCaptain(1));

            Assert.Throws <PlayerNotFoundException>(() =>
                                                    manager.SetCaptain(3));
        }
示例#7
0
        public void Should_Be_Valid_Team_When_Add_Player()
        {
            var manager = new SoccerTeamsManager();

            Assert.Throws <TeamNotFoundException>(() =>
                                                  manager.AddPlayer(1, 2, "Player 1", new DateTime(1992, 5, 24), 100, 20000.99m));
        }
        public void GetTopPlayers_Top_0()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddTeam(2, "Time 2", DateTime.Now, "cor 1", "cor 2");
            manager.AddTeam(3, "Time 3", DateTime.Now, "cor 1", "cor 2");

            manager.AddPlayer(4, 2, "Jogador", DateTime.Today, 50, 10);
            manager.AddPlayer(6, 2, "Jogador", DateTime.Today, 40, 10);
            manager.AddPlayer(8, 3, "Jogador", DateTime.Today, 50, 10);

            var topPlayerId = new List <long>();

            Assert.Equal(topPlayerId, manager.GetTopPlayers(0));
        }
示例#9
0
        public void Should_Be_Valid_Team_When_Add_Player()
        {
            var manager = new SoccerTeamsManager();

            Assert.Throws <TeamNotFoundException>(() =>
                                                  manager.AddPlayer(1, 1, "Player 1", DateTime.Now, 1, 1000));
        }
示例#10
0
        public void Should_Be_Invalid_Team_When_Team_Dont_Exists()
        {
            var manager = new SoccerTeamsManager();

            Assert.Throws <TeamNotFoundException>(() =>
                                                  manager.AddPlayer(1, 1, "Jogador 1", DateTime.Today, 0, 0));
        }
        public void Should_Get_Player_Salary_By_Id()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Joao", DateTime.Now, 30, 1000);
            Assert.Equal(1000, manager.GetPlayerSalary(1));
        }
        public void Should_Get_Player_Name_By_Id()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Joao", DateTime.Now, 30, 30);
            Assert.Equal("Joao", manager.GetPlayerName(1));
        }
示例#13
0
        public void Should_Be_Valid_Player_When_Get_Player_Name()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Jogador 1", DateTime.Today, 0, 0);
            manager.SetCaptain(1);
            Assert.Equal("Jogador 1", manager.GetPlayerName(1));
        }
        public void AddPlayer_Campos_Obrigatorios(string name)
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");

            Assert.Throws <ArgumentNullException>(() =>
                                                  manager.AddPlayer(1, 1, name, DateTime.Today, 0, 0));
        }
示例#15
0
        public void Should_Be_Player_Name()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Player 1", DateTime.Now, 1, 1000);

            Assert.Equal("Player 1", manager.GetPlayerName(1));
        }
        public void AddPlayer_Time_Nao_Existe()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");

            Assert.Throws <TeamNotFoundException>(() =>
                                                  manager.AddPlayer(1, 2, "Jogador", DateTime.Today, 0, 0));
        }
示例#17
0
        public void Should_Be_Captain_Found()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Player 1", DateTime.Now, 1, 1000);
            Assert.Throws <CaptainNotFoundException>(() =>
                                                     manager.GetTeamCaptain(1));
        }
        public void GetTeamCaptain_Capitao_Nao_Informado()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Jogador 1", DateTime.Today, 0, 0);

            Assert.Throws <CaptainNotFoundException>(() =>
                                                     manager.GetTeamCaptain(1));
        }
        public void GetHigherSalaryPlayer_Time_Nao_Encontrado()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Jogador 1", DateTime.Today, 0, 0);

            Assert.Throws <TeamNotFoundException>(() =>
                                                  manager.GetHigherSalaryPlayer(2));
        }
示例#20
0
        public void Should_Return_Player_Salary()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Jogador 1", DateTime.Today, 0, 3900.78m);
            Assert.Equal(3900.78m, manager.GetPlayerSalary(1));
            Assert.Throws <PlayerNotFoundException>(() =>
                                                    manager.GetPlayerSalary(2));
        }
        public void Should_Get_Best_Players()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddTeam(2, "Time 2", DateTime.Now, "cor 1", "cor 2");

            var playersIds = new List <long>()
            {
                15, 2, 33, 4, 13
            };
            var skill = new List <int>()
            {
                30, 50, 50, 30, 10
            };

            for (int i = 0; i < playersIds.Count(); i++)
            {
                manager.AddPlayer(playersIds[i], 1, $"Jogador {i}", DateTime.Now, skill[i], 0);
            }

            playersIds = new List <long>()
            {
                16, 3, 34, 5, 14
            };
            skill = new List <int>()
            {
                35, 52, 50, 10, 10
            };
            for (int i = 0; i < playersIds.Count(); i++)
            {
                manager.AddPlayer(playersIds[i], 2, $"Boleiro {i}", DateTime.Now, skill[i], 0);
            }

            var bestPlayers = manager.GetTopPlayers(5);

            Assert.Equal(3, bestPlayers[0]);
            Assert.Equal(2, bestPlayers[1]);
            Assert.Equal(33, bestPlayers[2]);
            Assert.Equal(34, bestPlayers[3]);
            Assert.Equal(16, bestPlayers[4]);
        }
        public void GetTeamCaptain_Time_Nao_Existe()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddPlayer(1, 1, "Jogador 1", DateTime.Today, 0, 0);
            manager.SetCaptain(1);

            Assert.Throws <TeamNotFoundException>(() =>
                                                  manager.GetTeamCaptain(2));
        }
示例#23
0
        public void Should_Be_Unique_Player_As_Team_Captain()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");
            manager.AddTeam(2, "Time 2", DateTime.Now, "cor 3", "cor 4");
            manager.AddPlayer(1, 1, "Jogador 1", DateTime.Today, 0, 0);
            manager.AddPlayer(2, 1, "Jogador 2", DateTime.Today, 0, 0);
            manager.AddPlayer(3, 2, "Jogador 3", DateTime.Today, 0, 0);
            manager.AddPlayer(4, 2, "Jogador 4", DateTime.Today, 0, 0);

            manager.SetCaptain(1);
            Assert.Equal(1, manager.GetTeamCaptain(1));

            manager.SetCaptain(2);
            Assert.Equal(2, manager.GetTeamCaptain(1));

            manager.SetCaptain(3);
            Assert.Equal(2, manager.GetTeamCaptain(1));
            Assert.Equal(3, manager.GetTeamCaptain(2));
        }
示例#24
0
        public void Should_Choose_Older_Team_Player(string skills, int olderPlayerId)
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");

            var bdList = skills.Split(',').Select(x => DateTime.Parse(x)).ToList();

            for (int i = 0; i < bdList.Count(); i++)
            {
                manager.AddPlayer(i, 1, $"Jogador {i}", bdList[i], 1, 0);
            }

            Assert.Equal(olderPlayerId, manager.GetOlderTeamPlayer(1));
        }
        public void GetHigherSalaryPlayerTest(string salary, int topSalaryPlayerId)
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");

            var salarylList = salary.Split(',').Select(x => int.Parse(x)).ToList();

            for (int i = 0; i < salarylList.Count(); i++)
            {
                manager.AddPlayer(i, 1, $"Jogador {i}", DateTime.Today, 10, salarylList[i]);
            }

            Assert.Equal(topSalaryPlayerId, manager.GetHigherSalaryPlayer(1));
        }
示例#26
0
        public void Should_Return_Older_Team_Player()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");

            for (int i = 1; i <= 3; i++)
            {
                manager.AddPlayer(i, 1, $"Jogador {i}", DateTime.Today.AddYears(i), 0, 0);
            }

            Assert.Equal(1, manager.GetOlderTeamPlayer(1));
            Assert.Throws <TeamNotFoundException>(() =>
                                                  manager.GetOlderTeamPlayer(2));
        }
示例#27
0
        public void Should_Choose_Higher_Salary_Player(string salaries, long highSalaryPlayerId)
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");

            var salariesList = salaries.Split(';').Select(x => decimal.Parse(x)).ToList();

            for (int i = 0; i < salariesList.Count(); i++)
            {
                manager.AddPlayer(i, 1, $"Jogador {i}", DateTime.Today, 0, salariesList[i]);
            }

            Assert.Equal(highSalaryPlayerId, manager.GetHigherSalaryPlayer(1));
        }
示例#28
0
        public void Should_Choose_Best_Team_Player(string skills, int bestPlayerId)
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");

            var skillsLevelList = skills.Split(',').Select(x => int.Parse(x)).ToList();

            for (int i = 0; i < skillsLevelList.Count(); i++)
            {
                manager.AddPlayer(i, 1, $"Jogador {i}", DateTime.Today, skillsLevelList[i], 0);
            }

            Assert.Equal(bestPlayerId, manager.GetBestTeamPlayer(1));
        }
示例#29
0
        public void Should_Choose_Older_Team_Player(string ages, long olderPlayerId)
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");

            var agesList = ages.Split(',').Select(x => int.Parse(x)).ToList();

            for (int i = 0; i < agesList.Count(); i++)
            {
                manager.AddPlayer(i, 1, $"Jogador {i}", new DateTime(DateTime.Today.Year - agesList[i], 1, 1), 0, 0);
            }

            Assert.Equal(olderPlayerId, manager.GetOlderTeamPlayer(1));
        }
示例#30
0
        public void Should_Ensure_Sort_Order_When_Get_Team_Players()
        {
            var manager = new SoccerTeamsManager();

            manager.AddTeam(1, "Time 1", DateTime.Now, "cor 1", "cor 2");

            var playersIds = new List <long>()
            {
                15, 2, 33, 4, 13
            };

            for (int i = 0; i < playersIds.Count(); i++)
            {
                manager.AddPlayer(playersIds[i], 1, $"Jogador {i}", DateTime.Today, 0, 0);
            }

            playersIds.Sort();
            Assert.Equal(playersIds, manager.GetTeamPlayers(1));
        }