public async Task UpdatePetWithFormAsync_GivenExistentId_UpdatesTheFields()
        {
            Pet expected = BuildSamplePet(pet =>
            {
                pet.Name   = "name updated";
                pet.Status = Pet.StatusEnum.Pending;
            });

            await _petApi.UpdatePetWithFormAsync(PetId, "name updated", "pending");

            Pet response = await _petApi.GetPetByIdAsync(PetId);

            Assert.IsType <Pet>(response);
            Assert.Equal(expected.Name, response.Name);
            Assert.Equal(expected.Status, response.Status);
            Assert.IsType <List <Tag> >(response.Tags);
            Assert.Equal(expected.Tags[0].Id, response.Tags[0].Id);
            Assert.Equal(expected.Tags[0].Name, response.Tags[0].Name);
            Assert.IsType <List <string> >(response.PhotoUrls);
            Assert.Equal(expected.PhotoUrls[0], response.PhotoUrls[0]);
            Assert.IsType <Category>(response.Category);
            Assert.Equal(expected.Category.Id, response.Category.Id);
            Assert.Equal(expected.Category.Name, response.Category.Name);

            await _petApi.UpdatePetWithFormAsync(PetId, "name updated twice");

            response = await _petApi.GetPetByIdAsync(PetId);

            Assert.Equal("name updated twice", response.Name);
        }