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); }
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 } }; }