public IEnumerator TestUpdateCategoriesModel()
        {
            Log.Debug("NaturalLanguageUnderstandingServiceV1IntegrationTests", "Attempting to UpdateSentimentModel...");
            CategoriesModel createCategoriesModelResponse = null;
            string          modelId = "";

            service.CreateCategoriesModel(
                callback: (DetailedResponse <CategoriesModel> response, IBMError error) =>
            {
                Log.Debug("NaturalLanguageUnderstandingServiceV1IntegrationTests", "CategoriesModel result: {0}", response.Response);
                createCategoriesModelResponse = response.Result;
                Assert.IsNotNull(createCategoriesModelResponse);
                Assert.AreEqual(createCategoriesModelResponse.Name, "testString");
                Assert.AreEqual(createCategoriesModelResponse.Language, "en");
                Assert.AreEqual(createCategoriesModelResponse.Description, "testString");
                Assert.AreEqual(createCategoriesModelResponse.ModelVersion, "testString");
                Assert.AreEqual(createCategoriesModelResponse.VersionDescription, "testString");
                Assert.IsNull(error);

                modelId = createCategoriesModelResponse.ModelId;
            },
                language: "en",
                trainingData: categoriesModelTrainingData,
                trainingDataContentType: "application/json",
                name: "testString",
                description: "testString",
                modelVersion: "testString",
                versionDescription: "testString"
                );

            while (createCategoriesModelResponse == null)
            {
                yield return(null);
            }

            CategoriesModel updateCategoriesModel = null;

            service.UpdateCategoriesModel(
                callback: (DetailedResponse <CategoriesModel> response, IBMError error) =>
            {
                Log.Debug("NaturalLanguageUnderstandingServiceV1IntegrationTests", "UpdateCategoriesModel result: {0}", response.Response);
                updateCategoriesModel = response.Result;
                Assert.IsNotNull(updateCategoriesModel);
                Assert.AreEqual(updateCategoriesModel.Name, "newString");
                Assert.AreEqual(updateCategoriesModel.Language, "en");
                Assert.AreEqual(updateCategoriesModel.Description, "newString");
                Assert.AreEqual(updateCategoriesModel.ModelVersion, "testString");
                Assert.AreEqual(updateCategoriesModel.VersionDescription, "testString");
                Assert.IsNull(error);
            },
                description: "newString",
                name: "newString",
                modelId: modelId,
                language: "en",
                modelVersion: "testString",
                trainingDataContentType: "application/json",
                trainingData: categoriesModelTrainingData
                );

            while (updateCategoriesModel == null)
            {
                yield return(null);
            }

            DeleteModelResults deleteModelResults = null;

            service.DeleteCategoriesModel(
                callback: (DetailedResponse <DeleteModelResults> response, IBMError error) =>
            {
                Log.Debug("NaturalLanguageUnderstandingServiceV1IntegrationTests", "DeleteCategoriesModel result: {0}", response.Response);
                deleteModelResults = response.Result;
                Assert.IsNull(error);
            },
                modelId: modelId
                );

            while (deleteModelResults == null)
            {
                yield return(null);
            }
        }