/// <summary>
        /// Creates a milestone for the specified repository. Any user with pull access to a repository can create a
        /// Milestone.
        /// </summary>
        /// <remarks>http://developer.github.com/v3/issues/milestones/#create-a-milestone</remarks>
        /// <param name="owner">The owner of the repository</param>
        /// <param name="name">The name of the repository</param>
        /// <param name="newMilestone">A <see cref="NewMilestone"/> instance describing the new Milestone to create</param>
        /// <returns></returns>
        public IObservable <Milestone> Create(string owner, string name, NewMilestone newMilestone)
        {
            Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
            Ensure.ArgumentNotNullOrEmptyString(name, "name");
            Ensure.ArgumentNotNull(newMilestone, "newMilestone");

            return(_client.Create(owner, name, newMilestone).ToObservable());
        }
    public async Task CanRetrieveOneMilestone()
    {
        var newMilestone = new NewMilestone("a milestone")
        {
            DueOn = DateTime.Now
        };
        var created = await _milestonesClient.Create(_context.RepositoryOwner, _context.RepositoryName, newMilestone);

        var result = await _milestonesClient.Get(_context.RepositoryOwner, _context.RepositoryName, created.Number);

        Assert.Equal("a milestone", result.Title);
    }