Пример #1
0
        /// <summary>
        /// Construcción de un encuentro mediante entrada por la
        /// terminal.
        ///
        /// Si quedan menos de dos personajes, la función retorna null.
        /// Si la entrada es vacía se retorna null.
        /// </summary>
        /// <returns>El encuentro creado</returns>
        protected virtual Encounter BuildEncounter()
        {
            if (this.LessThanTwoCharactersLeft)
            {
                return(null);
            }
            EncounterType type = this.ReadEncounterType();

            if (type == default(EncounterType))
            {
                return(null);
            }

            Character character1 = this.SelectCharacter("Select one character:");
            Character character2 = this.SelectCharacter("Select another character:");
            Encounter encounter  = EncounterFactory.GetEncounter(type, character1, character2);

            if (encounter is ExchangeEncounter)
            {
                IItem item = SelectItem(character1.Items);
                ((ExchangeEncounter)encounter).AddItemToExchange(item);
            }

            encounter.Reporter = new ConsoleReporter();

            return(encounter);
        }
 public EncounterMapper()
 {
     teamConverter    = new TeamMapper();
     commentConverter = new CommentMapper();
     sportConverter   = new SportMapper();
     factory          = new EncounterFactory();
 }
Пример #3
0
        public void Initialize()
        {
            factory     = new EncounterFactory();
            sport       = new Sport("Soccer", true);
            teamA       = new Mock <Team>(1, "teamA", "photo", sport).Object;
            teamB       = new Mock <Team>(2, "teamB", "photo", sport).Object;
            teamC       = new Mock <Team>(3, "teamC", "photo", sport).Object;
            teamD       = new Mock <Team>(4, "teamD", "photo", sport).Object;
            testFixture = new FixtureDto()
            {
                fixtureName   = "ObligatorioDA2.BusinessLogic.FixtureAlgorithms.OneMatchFixture"
                , initialDate = DateTime.Today, daysBetweenRounds = 5, roundLength = 2
            };
            teamsCollection = GetTeamsList();
            teamsNames      = teamsCollection.Select(tn => tn.Name).ToList();
            SetUpRepository();
            mapper = new EncounterDtoMapper(teamStorage, matchStorage, sportStorage);
            context.Database.EnsureDeleted();
            Mock <IAuthenticationService> auth = new Mock <IAuthenticationService>();

            auth.Setup(a => a.GetConnectedUser()).Returns(GetFakeUser());
            EncounterService service = new EncounterService(matchStorage, teamStorage, sportStorage, auth.Object);

            algorithmPaths = @".\";
            Mock <ILoggerService> logService = new Mock <ILoggerService>();

            fixtureService = new FixtureService(teamStorage, service, auth.Object, logService.Object);
        }
Пример #4
0
 public HomeAwayFixture(DateTime initialDate, int roundLength, int daysBetweenRounds) : base(initialDate, roundLength, daysBetweenRounds)
 {
     this.initialDate       = initialDate;
     this.roundLength       = roundLength;
     this.daysBetweenRounds = daysBetweenRounds;
     this.factory           = new EncounterFactory();
 }
Пример #5
0
        public void TestInitialize()
        {
            factory = new EncounterFactory();
            //Create mocks.
            sport = new Sport("Soccer", true);
            teamA = new Team(1, "TeamA", "Photo/A", sport);
            teamB = new Team(2, "TeamB", "Photo/B", sport);
            teamC = new Team(2, "TeamC", "Photo/C", sport);
            date  = new DateTime(2019, 1, 25, 13, 30, 0);
            Mock <User> commentarist = CreateUser();

            commentary1 = new Mock <Commentary>(1, "Commentary 1", commentarist.Object);
            commentary2 = new Mock <Commentary>(2, "Commentary 2", commentarist.Object);
            commentary3 = new Mock <Commentary>(3, "Commentary 3", commentarist.Object);

            //Configure mocks.
            commentary1.Setup(t => t.Equals(It.IsAny <object>())).Returns <object>(t => (t as Commentary)?.Id == 1);
            commentary2.Setup(t => t.Equals(It.IsAny <object>())).Returns <object>(t => (t as Commentary)?.Id == 2);
            commentary3.Setup(t => t.Equals(It.IsAny <object>())).Returns <object>(t => (t as Commentary)?.Id == 3);

            match = new Match(3, new List <Team>()
            {
                teamA, teamB
            }, date, sport);
        }
Пример #6
0
 public EncounterRepository(DatabaseConnection aContext)
 {
     context          = aContext;
     matchConverter   = new EncounterMapper();
     commentConverter = new CommentMapper();
     teamConverter    = new TeamMapper();
     factory          = new EncounterFactory();
 }
Пример #7
0
 public EncounterDtoMapper(ITeamRepository teamsRepo, IEncounterRepository encountersRepo, ISportRepository sportsRepository)
 {
     teamsStorage      = teamsRepo;
     encountersStorage = encountersRepo;
     sportsStorage     = sportsRepository;
     resultMapper      = new ResultDtoMapper(teamsRepo);
     factory           = new EncounterFactory();
 }
        /// <summary>
        /// Ejecución del escenario.
        /// </summary>
        public void Run()
        {
            EncounterFactory encounterfactory = new EncounterFactory();
            Encounter        encounter        = EncounterFactory.GetEncounter(EncounterType.Attack, colina, santi);

            encounter.DoEncounter();

            encounter.Reporter.ReportDead(colina);
        }
Пример #9
0
 public EncounterService(IEncounterRepository encountersRepository, ITeamRepository teamsRepository,
                         ISportRepository sportsRepository, IAuthenticationService authService)
 {
     factory            = new EncounterFactory();
     encountersStorage  = encountersRepository;
     teamsStorage       = teamsRepository;
     sportsStorage      = sportsRepository;
     authenticator      = authService;
     encounterConverter = new EncounterDtoMapper(teamsStorage, encountersStorage, sportsStorage);
 }
Пример #10
0
 public void TestInitialize()
 {
     played = new Sport("Soccer", true);
     teams  = new List <Team>();
     for (int i = 1; i <= 6; i++)
     {
         Team newTeam = new Team(i, "Team " + i, "Photo/" + i, played);
         teams.Add(newTeam);
     }
     initialDate       = new DateTime(2019, 1, 1);
     finalDate         = new DateTime(2019, 4, 4);
     roundLength       = 2;
     daysBetweenRounds = 5;
     oneMatchFixture   = new OneMatchFixture(initialDate, roundLength, daysBetweenRounds);
     homeAwayFixture   = new HomeAwayFixture(initialDate, roundLength, daysBetweenRounds);
     factory           = new EncounterFactory();
 }
        public void SetUp()
        {
            factory    = new EncounterFactory();
            testMapper = new EncounterMapper();
            SportEntity testSport = new SportEntity()
            {
                Name = "Soccer", IsTwoTeams = true
            };
            TeamEntity homeTest = new TeamEntity {
                TeamNumber = 3, SportEntityName = "Soccer", Sport = testSport, Name = "Nacional", Photo = "aPath"
            };
            TeamEntity awayTest = new TeamEntity {
                TeamNumber = 4, SportEntityName = "Soccer", Sport = testSport, Name = "Torque", Photo = "aPath"
            };

            entity = new EncounterEntity()
            {
                Id           = 3,
                Date         = DateTime.Now,
                SportEntity  = testSport,
                HasResult    = false,
                Commentaries = new List <CommentEntity>()
            };
            EncounterTeam homeRel = new EncounterTeam()
            {
                Team = homeTest, TeamNumber = 3, Encounter = entity, EncounterId = 3
            };
            EncounterTeam awayRel = new EncounterTeam()
            {
                Team = awayTest, TeamNumber = 4, Encounter = entity, EncounterId = 3
            };

            playingTeams = new List <EncounterTeam>()
            {
                homeRel, awayRel
            };
            homeMock = new Team(3, "Nacional", "aPath", new Sport("Soccer", true));
            awayMock = new Team(4, "Torque", "aPath", new Sport("Soccer", true));
            Sport sport = new Sport("Soccer", true);

            match = factory.CreateEncounter(new List <Team>()
            {
                homeMock, awayMock
            }, DateTime.Now, sport);
        }
Пример #12
0
        public void SetUp()
        {
            testFactory = new EncounterFactory();

            sport = new Sport("Soccer", true);
            teamA = new Team(1, "TeamA", "Photo/A", sport);
            teamB = new Team(2, "TeamB", "Photo/B", sport);
            teamC = new Team(2, "TeamC", "Photo/C", sport);
            date  = new DateTime(2019, 1, 25, 13, 30, 0);
            User       commentarist = CreateUser();
            Commentary commentary1  = new Commentary(1, "Commentary 1", commentarist);
            Commentary commentary2  = new Commentary(2, "Commentary 2", commentarist);
            Commentary commentary3  = new Commentary(3, "Commentary 3", commentarist);

            comments = new List <Commentary>()
            {
                commentary1, commentary2, commentary3
            };
        }
Пример #13
0
        public void PickTurnAction(Player p)
        {
            Console.WriteLine($"{p.Name}'s turn!");
            //Movement is the speed of the slowest hero
            int  moves = CalculatePartyMovement(p.Heroes);
            int  num   = 0;
            bool done  = false;

            while (!done)
            {
                Console.WriteLine($"Turn: {currentTurn}");
                Console.WriteLine($"You have {moves} moves left");
                Console.WriteLine("What would you like to do?");
                Console.WriteLine("1) Build");
                Console.WriteLine("2) Explore");
                Console.WriteLine("3) Fight");
                Console.WriteLine("4) End Turn");
                try
                {
                    string input = Console.ReadLine();
                    num = int.Parse(input);
                    switch (num)
                    {
                    case 1:
                        Console.WriteLine("Building not implemented yet");
                        break;

                    case 2:
                        if (moves > 0)
                        {
                            Console.WriteLine("Lets go exploring!");
                            Encounter e = EncounterFactory.GetRandomEncounter(p);
                            e.RunEvent();
                            moves--;
                        }
                        break;

                    case 3:
                        if (moves > 0)
                        {
                            Console.WriteLine("Let's go spoiling for a fight");
                            Player    enemy  = new Player("Evil boyo");
                            Hero      badguy = new Hero(enemy, "French Stewart");
                            Encounter e      = new BattleEvent(p, enemy);
                            e.RunEvent();
                            moves--;
                        }
                        break;

                    case 4:
                        Console.WriteLine("Turn is done!");
                        done = true;
                        break;
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("I didn't understand, let's try that again");
                    continue;
                }
            }
        }
Пример #14
0
 public EncounterDtoMapper()
 {
     factory      = new EncounterFactory();
     resultMapper = new ResultDtoMapper();
 }