public async Task Post_InvalidModel()
        {
            var testModel = new RequiredStringValueModel();

            ValuesController controller = new ValuesController();

            var result = await controller.Post(testModel);

            var actionResult = Assert.IsType <BadRequestObjectResult>(result);

            Assert.Equal(400, actionResult.StatusCode);

            var model = Assert.IsAssignableFrom <SerializableError>(actionResult.Value);

            Assert.Single(model);
        }
        public async Task <IActionResult> Put(int id, [FromBody] RequiredStringValueModel value)
        {
            if (ModelState.IsValid)
            {
                var returnModel = await Task.FromResult(value);

                if (value != null && value.value != null && value.value == $"value{id}")
                {
                    return(new OkObjectResult(value));
                }
                else
                {
                    ModelState.AddModelError("InvalidString", "Invalid string");
                }
            }
            return(new BadRequestObjectResult(ModelState));
        }
        public async Task Put_OkModel()
        {
            var testModel = new RequiredStringValueModel()
            {
                value = "value10"
            };

            ValuesController controller = new ValuesController();

            var result = await controller.Put(10, testModel);

            var actionResult = Assert.IsType <OkObjectResult>(result);

            Assert.Equal(200, actionResult.StatusCode);

            var model = Assert.IsAssignableFrom <RequiredStringValueModel>(actionResult.Value);

            Assert.Equal(testModel, model);
        }