/// <summary>
        /// Add a participant to a tournament.
        /// </summary>
        /// <param name="tournament"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public Participant ParticipantCreate(Tournament tournament, ParticipantCreateParameters parameters = null)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            string url = string.Format("tournaments/{0}/participants", this.TournamentIdentifier(tournament));

            Dictionary<string, dynamic> param = parameters.ToDictionary();
            var json = this.MakeJsonRequest(url, WebRequestMethods.Http.Post, param);

            return Deserializer.Participant(json);
        }
        public void CreateOptionalParameters()
        {
            var tournamentName = Utilities.RandomName();
            this.tournament = this.target.TournamentCreate(tournamentName, TournamentType.SingleElimination, tournamentName);

            var participant1Parameters = new ParticipantCreateParameters { Seed = 1, Name = Utilities.RandomName() };
            var participant1 = this.target.ParticipantCreate(this.tournament, participant1Parameters);

            var participant2Parameters = new ParticipantCreateParameters { Seed = 2, Name = Utilities.RandomName() };
            var participant2 = this.target.ParticipantCreate(this.tournament, participant2Parameters);

            var participant3Parameters = new ParticipantCreateParameters { Seed = 2, Name = Utilities.RandomName() };
            var participant3 = this.target.ParticipantCreate(this.tournament, participant3Parameters);

            var tourParameters = new TournamentShowParameters { IncludeParticipants = true };
            this.tournament = this.target.TournamentShow(this.tournament.Id, tourParameters);

            Assert.AreEqual(1, this.tournament.Participants.Find(p => p.Participant.Id == participant1.Id).Participant.Seed);
            Assert.AreEqual(2, this.tournament.Participants.Find(p => p.Participant.Id == participant3.Id).Participant.Seed);
            Assert.AreEqual(3, this.tournament.Participants.Find(p => p.Participant.Id == participant2.Id).Participant.Seed);
        }