public void Fitness_Returns_Correct_Value()
        {
            var cardId    = Guid.NewGuid();
            var stubMatch = new ApplicationCore.Models.Match.Match();

            stubMatch.Minutes = new MatchMinute[]
            {
                new MatchMinute()
                {
                    Modifiers = new List <Modifier>()
                    {
                        new Modifier()
                        {
                            CardId     = cardId,
                            DrainValue = 1,
                            Type       = ModifierType.Fitness
                        }
                    }
                }
            };
            var service = new CalculatedCardStatService();

            //Act
            var fitness = service.Fitness(stubMatch, cardId);

            //Assert
            Assert.Equal(99, fitness);
        }
Exemplo n.º 2
0
        protected MatchTestBase()
        {
            //TODO Mock these
            var randomnessProvider        = new ThreadSafeRandomnessProvider();
            var calculatedCardStatService = new CalculatedCardStatService();
            var ratingService             = new RatingService(calculatedCardStatService);
            var fitnessDrainService       = new FitnessDrainService(randomnessProvider);
            var possessionService         = new PossessionService(ratingService);
            var actions       = new IAction[] { new Foul(randomnessProvider), new Shot(randomnessProvider, ratingService) };
            var actionService = new ActionService(actions, randomnessProvider);

            StubMatchEngine = new MatchEngine(actionService, possessionService, fitnessDrainService);

            StubHomePlayer = new Card
            {
                Id     = Guid.NewGuid(),
                Name   = "GK",
                Rating = 80
            };

            StubHomeSub = new Card
            {
                Id     = Guid.NewGuid(),
                Name   = "ST",
                Rating = 40
            };

            StubAwayPlayer = new Card
            {
                Id     = Guid.NewGuid(),
                Name   = "ST",
                Rating = 40
            };

            StubAwaySub = new Card
            {
                Id     = Guid.NewGuid(),
                Name   = "ST",
                Rating = 40
            };

            var stubHomeTeamLineup = new Dictionary <string, IEnumerable <Card> >
            {
                {
                    "GK", new List <Card>
                    {
                        StubHomePlayer
                    }
                },
                {
                    "DEF", new List <Card>
                    {
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "LB",
                            Rating = 80
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "CB",
                            Rating = 80
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "CB",
                            Rating = 80
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "RB",
                            Rating = 80
                        }
                    }
                },
                {
                    "MID", new List <Card>
                    {
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "LM",
                            Rating = 80
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "CM",
                            Rating = 80
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "CM",
                            Rating = 80
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "RM",
                            Rating = 80
                        }
                    }
                },
                {
                    "ATT", new List <Card>
                    {
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "ST",
                            Rating = 80
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "ST",
                            Rating = 80
                        }
                    }
                }
            };

            var stubAwayTeamLineup = new Dictionary <string, IEnumerable <Card> >
            {
                {
                    "GK", new List <Card>
                    {
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "GK",
                            Rating = 40
                        }
                    }
                },
                {
                    "DEF", new List <Card>
                    {
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "LB",
                            Rating = 40
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "CB",
                            Rating = 40
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "CB",
                            Rating = 40
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "RB",
                            Rating = 40
                        }
                    }
                },
                {
                    "MID", new List <Card>
                    {
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "LM",
                            Rating = 40
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "CM",
                            Rating = 40
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "CM",
                            Rating = 40
                        },
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "RM",
                            Rating = 40
                        }
                    }
                },
                {
                    "ATT", new List <Card>
                    {
                        StubAwayPlayer,
                        new Card
                        {
                            Id     = Guid.NewGuid(),
                            Name   = "ST",
                            Rating = 40
                        }
                    }
                }
            };

            StubHomeSquad = new Squad
            {
                Id     = Guid.NewGuid(),
                Lineup = stubHomeTeamLineup,
                Subs   = new[]
                {
                    StubHomeSub
                },
                Name = "Good FC"
            };

            StubAwaySquad = new Squad
            {
                Id     = Guid.NewGuid(),
                Lineup = stubAwayTeamLineup,
                Subs   = new[]
                {
                    StubAwaySub
                },
                Name = "Shitty FC"
            };

            StubHomeUserId = Guid.NewGuid();
            var stubAwayUserId = Guid.NewGuid();

            StubHomeTeamDetails = new TeamDetails
            {
                UserId = StubHomeUserId,
                Squad  = StubHomeSquad
            };

            StubMatch = new ApplicationCore.Models.Match.Match
            {
                Id       = Guid.NewGuid(),
                KickOff  = DateTime.Now,
                HomeTeam = StubHomeTeamDetails,
                AwayTeam = new TeamDetails
                {
                    UserId = stubAwayUserId,
                    Squad  = StubAwaySquad
                }
            };
        }