public void ReturnJsonObject_FullControlVersion_Sets_Environment_Correctly(string input, string encodingName, string mimeType) { var encoding = DataRowParser.Encoding(encodingName); var expectedEncoding = encoding ?? Encoding.UTF8; var expectedMimeType = String.IsNullOrEmpty(mimeType) ? "application/json" : mimeType; var expectedText = input == null ? "null" : $"\"{input}\""; var expectedBody = expectedEncoding.GetBytes(expectedText); var expectedLength = expectedBody.Length.ToString(CultureInfo.InvariantCulture); _Responder.ReturnJsonObject(_Environment.Environment, input, null, encoding, mimeType); var contentType = _Environment.ResponseHeadersDictionary.ContentTypeValue; Assert.AreEqual(expectedMimeType, contentType.MediaType); Assert.AreEqual(expectedEncoding.WebName, contentType.Charset); Assert.AreEqual(expectedLength, _Environment.ResponseHeadersDictionary["Content-Length"]); Assertions.AreEqual(expectedBody, _Environment.ResponseBodyBytes); }