コード例 #1
0
        public void TestInitialize()
        {
            mockCommentRepo   = new Mock <IRepository <Comment> >();
            mockEncounterRepo = new Mock <IRepository <Encounter> >();
            mockSportRepo     = new Mock <IRepository <Sport> >();
            mockTeamRepo      = new Mock <IRepository <Team> >();
            mockUserRepo      = new Mock <IRepository <User> >();
            encounterBL       = new EncounterBusinessLogic(mockEncounterRepo.Object, NO_BUSINESS_LOGIC);
            sportBL           = new SportBusinessLogic(mockSportRepo.Object);
            teamBL            = new TeamBusinessLogic(mockTeamRepo.Object, sportBL);
            userBL            = new UserBusinessLogic(mockUserRepo.Object, teamBL, NO_UT_REPOSITORY);
            commentBL         = new CommentBusinessLogic(mockCommentRepo.Object, encounterBL, userBL);
            commentList       = new List <Comment>();
            user = new User()
            {
                Id = 1
            };
            var nacional = new Team()
            {
                Id = 1, Name = "Nacional", SportId = 1
            };
            var eNacional = new EncountersTeams()
            {
                Team = nacional, TeamId = nacional.Id
            };
            var peñarol = new Team()
            {
                Id = 2, Name = "Peñarol", SportId = 1
            };
            var ePeñarol = new EncountersTeams()
            {
                Team = peñarol, TeamId = peñarol.Id
            };
            ICollection <EncountersTeams> teams = new List <EncountersTeams>()
            {
                eNacional, ePeñarol
            };
            var sport = new Sport()
            {
                Id = 1, Name = "Futbol"
            };

            encounter = new Encounter()
            {
                Id = 1, Date = DateTime.Now, SportId = sport.Id, Teams = teams
            };

            encounterList = new List <Encounter>()
            {
                encounter
            };
            mockCommentRepo.Setup(r => r.Get(null, null, "")).Returns(commentList);
        }
コード例 #2
0
        public ICollection <Encounter> GenerateFixture(IEnumerable <Team> teams, DateTime date)
        {
            if (teams.Count() < 2)
            {
                throw new NotEnoughTeamsForEncounterException("Not enough teams to create round robin encounters.");
            }

            DateTime                newDate    = date.AddDays(1);
            List <Team>             teamList   = teams.ToList();
            ICollection <Encounter> encounters = new List <Encounter>();

            foreach (Team team in teams)
            {
                teamList.Remove(team);
                EncountersTeams eTeam = new EncountersTeams()
                {
                    Team = team, TeamId = team.Id
                };
                foreach (Team rival in teamList)
                {
                    EncountersTeams eRival = new EncountersTeams()
                    {
                        Team = rival, TeamId = rival.Id
                    };
                    ICollection <EncountersTeams> opponents = new List <EncountersTeams>()
                    {
                        eTeam, eRival
                    };
                    Encounter encounter = new Encounter()
                    {
                        Teams = opponents, SportId = team.SportId, Date = date
                    };
                    while (encounterBL.TeamsHaveEncountersOnTheSameDay(encounter) || encounterBL.TeamsHaveEncountersOnTheSameDay(encounters, encounter))
                    {
                        encounter.Date = encounter.Date.AddDays(1);
                    }
                    encounters.Add(encounter);

                    Encounter encounter2 = new Encounter()
                    {
                        Teams = opponents, SportId = team.SportId, Date = date
                    };
                    while (encounterBL.TeamsHaveEncountersOnTheSameDay(encounter2) || encounterBL.TeamsHaveEncountersOnTheSameDay(encounters, encounter2))
                    {
                        encounter2.Date = encounter2.Date.AddDays(1);
                    }
                    encounters.Add(encounter2);
                }
            }
            return(encounters);
        }
コード例 #3
0
        public void GenerateFixtureWithEncountersOnRepoTest()
        {
            DateTime        date       = new DateTime(2018, 10, 1, 12, 00, 00);
            EncountersTeams etNacional = new EncountersTeams {
                Team = nacional, TeamId = nacional.Id
            };
            EncountersTeams etPeñarol = new EncountersTeams {
                Team = peñarol, TeamId = peñarol.Id
            };

            encounterBL.Add(new Encounter {
                Id = 1, Teams = { etNacional, etPeñarol }, Date = date, SportId = 1
            });
            ICollection <Encounter> generatedEncounters = roundRobin.GenerateFixture(teamList, date);
            List <Encounter>        encountersToList    = generatedEncounters.ToList();

            //Sabemos que el primer partido va a ser Nacional Peñarol porque ya esta en el repositorio
            //entonces la fecha del primer encuentro generado por el algoritmo debe ser un dia mas.
            Assert.IsTrue(generatedEncounters.ElementAt(0).Date == new DateTime(2018, 10, 2, 12, 00, 00));
        }
        public void TestInitialize()
        {
            mockEncounterRepo = new Mock <IRepository <Encounter> >();
            mockSportRepo     = new Mock <IRepository <Sport> >();
            sportBL           = new SportBusinessLogic(mockSportRepo.Object);
            mockSportBL       = new Mock <ISportBusinessLogic>();
            encounterBL       = new EncounterBusinessLogic(mockEncounterRepo.Object, mockSportBL.Object);
            encounterList     = new List <Encounter>();
            mockEncounterRepo.Setup(r => r.Get(null, null, It.IsAny <string>())).Returns(encounterList);
            mockEncounterRepo.Setup(r => r.Get(It.IsAny <Expression <Func <Encounter, bool> > >(), null, It.IsAny <string>())).Returns(encounterList);

            football = new Sport()
            {
                Id = 1, Name = "Football", EncounterMode = EncounterMode.Double
            };
            mockSportBL.Setup(s => s.GetById(1)).Returns(football);

            basketball = new Sport()
            {
                Id = 2, Name = "Basketball", EncounterMode = EncounterMode.Double
            };
            mockSportBL.Setup(s => s.GetById(2)).Returns(basketball);

            nacional = new Team()
            {
                Id = 1, Name = "Nacional", SportId = 1
            };
            eNacional = new EncountersTeams()
            {
                Team = nacional, TeamId = nacional.Id
            };
            peñarol = new Team()
            {
                Id = 2, Name = "Peñarol", SportId = 1
            };
            ePeñarol = new EncountersTeams()
            {
                Team = peñarol, TeamId = peñarol.Id
            };
            cerro = new Team()
            {
                Id = 3, Name = "Cerro", SportId = 1
            };
            eCerro = new EncountersTeams()
            {
                Team = cerro, TeamId = cerro.Id
            };
            defensor = new Team {
                Id = 4, Name = "Defensor", SportId = 1
            };
            eDefensor = new EncountersTeams()
            {
                Team = defensor, TeamId = defensor.Id
            };
            danubio = new Team {
                Id = 5, Name = "Danubio", SportId = 1
            };
            eDanubio = new EncountersTeams()
            {
                Team = danubio, TeamId = danubio.Id
            };


            var teamList = new List <Team>()
            {
                nacional, peñarol, defensor, danubio, cerro
            };

            footballWithTeams = new Sport()
            {
                Id = 3, Name = "Football", EncounterMode = EncounterMode.Double, Teams = teamList
            };
            mockSportBL.Setup(s => s.GetById(3)).Returns(footballWithTeams);

            aguada = new Team()
            {
                Id = 6, Name = "Aguada", SportId = 2
            };
            eAguada = new EncountersTeams()
            {
                Team = aguada, TeamId = aguada.Id
            };

            golf = new Sport()
            {
                Id = 4, Name = "Golf", EncounterMode = EncounterMode.Multiple
            };
            mockSportBL.Setup(s => s.GetById(4)).Returns(golf);

            golfTeam1 = new Team()
            {
                Id = 7, Name = "golfTeam1", SportId = 4
            };
            eGolfTeam1 = new EncountersTeams()
            {
                Team = golfTeam1, TeamId = golfTeam1.Id
            };
            golfTeam2 = new Team {
                Id = 8, Name = "golfTeam2", SportId = 4
            };
            eGolfTeam2 = new EncountersTeams()
            {
                Team = golfTeam2, TeamId = golfTeam2.Id
            };
            golfTeam3 = new Team {
                Id = 9, Name = "golfTeam3", SportId = 4
            };
            eGolfTeam3 = new EncountersTeams()
            {
                Team = golfTeam3, TeamId = golfTeam3.Id
            };
        }
コード例 #5
0
        public void TestInitialize()
        {
            mockSportBL             = new Mock <ISportBusinessLogic>();
            mockEncounterBL         = new Mock <IEncounterBusinessLogic>();
            positionTableCalculator = new PositionTableCalculator(mockSportBL.Object, mockEncounterBL.Object);
            encounterList           = new List <Encounter>();

            football = new Sport()
            {
                Id = 1, Name = "Football", EncounterMode = EncounterMode.Double
            };

            nacional = new Team()
            {
                Id = 1, Name = "Nacional", SportId = 1
            };
            eNacional = new EncountersTeams()
            {
                Team = nacional, TeamId = nacional.Id
            };
            peñarol = new Team()
            {
                Id = 2, Name = "Peñarol", SportId = 1
            };
            ePeñarol = new EncountersTeams()
            {
                Team = peñarol, TeamId = peñarol.Id
            };
            cerro = new Team()
            {
                Id = 3, Name = "Cerro", SportId = 1
            };
            eCerro = new EncountersTeams()
            {
                Team = cerro, TeamId = cerro.Id
            };
            defensor = new Team {
                Id = 4, Name = "Defensor", SportId = 1
            };
            danubio = new Team {
                Id = 5, Name = "Danubio", SportId = 1
            };

            football.Teams = new List <Team>()
            {
                nacional, cerro
            };



            golf = new Sport()
            {
                Id = 2, Name = "Golf", EncounterMode = EncounterMode.Multiple
            };
            mockSportBL.Setup(s => s.GetById(4)).Returns(golf);

            golfTeam1 = new Team()
            {
                Id = 7, Name = "golfTeam1", SportId = 4
            };
            eGolfTeam1 = new EncountersTeams()
            {
                Team = golfTeam1, TeamId = golfTeam1.Id
            };
            golfTeam2 = new Team {
                Id = 8, Name = "golfTeam2", SportId = 4
            };
            eGolfTeam2 = new EncountersTeams()
            {
                Team = golfTeam2, TeamId = golfTeam2.Id
            };
            golfTeam3 = new Team {
                Id = 9, Name = "golfTeam3", SportId = 4
            };
            eGolfTeam3 = new EncountersTeams()
            {
                Team = golfTeam3, TeamId = golfTeam3.Id
            };
            golfTeam4 = new Team {
                Id = 10, Name = "golfTeam4", SportId = 4
            };
            eGolfTeam4 = new EncountersTeams()
            {
                Team = golfTeam4, TeamId = golfTeam4.Id
            };

            golf.Teams = new List <Team>()
            {
                golfTeam1, golfTeam2, golfTeam3, golfTeam4
            };

            mockSportBL.Setup(s => s.GetById(1)).Returns(football);
            mockSportBL.Setup(s => s.GetById(2)).Returns(golf);
        }