public void ShouldCreateScheduleTwoDifferentGroups(List <ITeam> HomeTeams, List <ITeam> AwayTeams, int expectedDays, int iterations, bool homeAndAway, GameRules rules) { var days = Scheduler.CreateGames(null, 1, 0, 1, HomeTeams, AwayTeams, iterations, homeAndAway, rules, new BaseScheduleGameCreator()); var messages = new List <string>(); days.Days.Values.ToList().ForEach(d => { var validator = new ScheduleDayValidator(d); if (!validator.IsValid) { messages.AddRange(validator.Messages); } }); StrictEqual(expectedDays, days.Days.Count); True(messages.Count == 0); }
public void ShouldCountTeamsInDayCorrectly() { var day = CreateDay(1, new ScheduleGame[] { CreateGame("Team 1", 1, "Team 2", 2), CreateGame("Team 3", 3, "Team 4", 4), CreateGame("Team 5", 5, "Team 6", 6), CreateGame("Team 6", 6, "Team 5", 5), CreateGame("Team 6", 6, "Team 2", 2) }); var counts = new ScheduleDayValidator(day); False(counts.IsValid); StrictEqual(1, counts.GetHomeTeamCounts("Team 1")); StrictEqual(0, counts.GetHomeTeamCounts("Team 2")); StrictEqual(1, counts.GetHomeTeamCounts("Team 3")); StrictEqual(0, counts.GetHomeTeamCounts("Team 4")); StrictEqual(1, counts.GetHomeTeamCounts("Team 5")); StrictEqual(2, counts.GetHomeTeamCounts("Team 6")); StrictEqual(0, counts.GetAwayTeamCounts("Team 1")); StrictEqual(2, counts.GetAwayTeamCounts("Team 2")); StrictEqual(0, counts.GetAwayTeamCounts("Team 3")); StrictEqual(1, counts.GetAwayTeamCounts("Team 4")); StrictEqual(1, counts.GetAwayTeamCounts("Team 5")); StrictEqual(1, counts.GetAwayTeamCounts("Team 6")); StrictEqual(3, counts.Messages.Count); }
public void IsDayValid(ScheduleDay day, bool expected) { var counts = new ScheduleDayValidator(day); StrictEqual(expected, counts.IsValid); }