/// <summary> /// List all matches in a tournament. /// </summary> /// <param name="tournament"></param> /// <param name="parameters"></param> /// <returns></returns> public IList <Match> MatchIndex(Tournament tournament, MatchIndexParameters parameters = null) { string url = string.Format("tournaments/{0}/matches", this.TournamentIdentifier(tournament)); var param = new Dictionary <string, dynamic>(); if (parameters != null) { param = parameters.ToDictionary(); } var json = this.MakeJsonRequest(url, WebRequestMethods.Http.Get, param); return(Deserializer.ListOfMatches(json)); }
public void MatchIndex() { string tournamentName = "ChallongeNet" + Utilities.RandomName(); Debug.WriteLine(string.Format("Initializing with name {0}", tournamentName)); var tournamentUnderTest = this.target.TournamentCreate(tournamentName, TournamentType.SingleElimination, tournamentName); var participantNames = new HashSet <string>(); const int NumberOfParticipants = 8; while (participantNames.Count < NumberOfParticipants) { string name = "ChallongeNet" + Utilities.RandomName(); participantNames.Add(name); } var participants = participantNames.Select(name => this.target.ParticipantCreate(tournamentUnderTest, new ParticipantCreateParameters { Name = name })).ToList(); tournamentUnderTest = this.target.TournamentStart(tournamentUnderTest); var participant = participants.First(); var parameters = new MatchIndexParameters { ParticipantId = participant.Id }; var matches = this.target.MatchIndex(tournamentUnderTest, parameters); var m = matches.Where(match => match.Player1Id == participant.Id || match.Player2Id == participant.Id); Assert.AreEqual(1, m.Count()); parameters = new MatchIndexParameters { State = MatchIndexParameters.MatchIndexState.complete }; matches = this.target.MatchIndex(tournamentUnderTest, parameters); Assert.AreEqual(0, matches.Count); this.target.TournamentDestroy(tournamentUnderTest); }