         waitForExpectations()
     }
 
-    /** Translate a text string, specifying the model by model id. */
     func testTranslateStringWithModelID() {
-        let description = "Translate text string, specifying the model by model id."
-        let expectation = self.expectation(description: description)
+        let expectation = self.expectation(description: "Translate text string using model id.")
         let request = TranslateRequest(text: ["Hello"], modelID: "en-es-conversational")
         languageTranslator.translate(body: request, failure: failWithError) {
             translation in


    // MARK: - Positive Tests

    /** Get all models. */
    func testGetModelsAll() {
        let description = "Get all models."
        let expectation = self.expectation(description: description)

        languageTranslator.listModels(failure: failWithError) { models in
            XCTAssertGreaterThan(models.models.count, 0, "Expected at least 1 model to be returned.")
            expectation.fulfill()
        }
        waitForExpectations()
    }

    /** Get models, filtered by source language. */
    func testGetModelsBySourceLanguage() {
        let description = "Get models, filtered by source language."
        let expectation = self.expectation(description: description)

        languageTranslator.listModels(source: "es", failure: failWithError) { models in
            XCTAssertGreaterThan(models.models.count, 0, "Expected at least 1 model to be returned.")
            expectation.fulfill()
        }
        waitForExpectations()
    }

    /** Get models, filtered by target language. */
    func testGetModelsByTargetLanguage() {
        let description = "Get models, filtered by target language."
        let expectation = self.expectation(description: description)

        languageTranslator.listModels(target: "pt", failure: failWithError) { models in
            XCTAssertGreaterThan(models.models.count, 0, "Expected at least 1 model to be returned.")
            expectation.fulfill()
        }
        waitForExpectations()
    }

    /** Get models, filtered by default models. */
    func testGetModelsDefault() {
        let description = "Get models, filtered to include only default models."
        let expectation = self.expectation(description: description)

        languageTranslator.listModels(defaultModels: true, failure: failWithError) { models in
            XCTAssertGreaterThan(models.models.count, 0, "Expected at least 1 model to be returned.")
            expectation.fulfill()
        }
        waitForExpectations()
    }

    /** Create and delete a custom model. */
    func testCreateDeleteModel() {
        let creationDescription = "Create a custom language model."
        let creationExpectation = self.expectation(description: creationDescription)
        let deletionDescription = "Delete the custom language model."
        let deletionExpectation = self.expectation(description: deletionDescription)

        #if os(iOS)
            let bundle = Bundle(for: type(of: self))


    // MARK: - Negative Tests

    func testGetModelDoesntExist() {
        let expectation = self.expectation(description: "Get model with invalid model id")
        let failure = { (error: Error) in expectation.fulfill() }
        languageTranslator.getModel(modelID: "invalid_model_id", failure: failure, success: failWithResult)
        waitForExpectations()
