/// <summary>
        /// Tests whether <see cref="BadRequestObjectResult"/> contains specific model state errors using test builder.
        /// </summary>
        /// <param name="badRequestTestBuilder">Instance of <see cref="IBadRequestTestBuilder"/> type.</param>
        /// <param name="modelStateTestBuilder">Model state errors test builder.</param>
        /// <returns>The same <see cref="IAndBadRequestTestBuilder"/>.</returns>
        public static IAndBadRequestTestBuilder WithModelStateError(
            this IBadRequestTestBuilder badRequestTestBuilder,
            Action <IModelStateTestBuilder> modelStateTestBuilder)
        {
            var actualBadRequestTestBuilder = GetBadRequestTestBuilder(badRequestTestBuilder);

            actualBadRequestTestBuilder.TestContext.Model = actualBadRequestTestBuilder.GetBadRequestObjectResultValue();

            var newModelStateTestBuilder = new ModelStateTestBuilder(
                actualBadRequestTestBuilder.TestContext,
                modelState: actualBadRequestTestBuilder.GetModelStateFromSerializableError(actualBadRequestTestBuilder.TestContext.Model));

            modelStateTestBuilder(newModelStateTestBuilder);

            return(actualBadRequestTestBuilder);
        }
        /// <summary>
        /// Tests whether the <see cref="ActionResult"/> contains specific model state errors by using a test builder.
        /// </summary>
        /// <param name="baseTestBuilderWithErrorResult">
        /// Instance of <see cref="IBaseTestBuilderWithErrorResult{TErrorResultTestBuilder}"/> type.
        /// </param>
        /// <param name="modelStateTestBuilder">Model state errors test builder.</param>
        /// <returns>The same error <see cref="ActionResult"/> test builder.</returns>
        public static TErrorResultTestBuilder WithModelStateError <TErrorResultTestBuilder>(
            this IBaseTestBuilderWithErrorResult <TErrorResultTestBuilder> baseTestBuilderWithErrorResult,
            Action <IModelStateTestBuilder> modelStateTestBuilder)
            where TErrorResultTestBuilder : IBaseTestBuilderWithActionResult
        {
            var actualBuilder = GetActualBuilder(baseTestBuilderWithErrorResult);

            actualBuilder.TestContext.Model = actualBuilder.GetObjectResultValue();

            var newModelStateTestBuilder = new ModelStateTestBuilder(
                actualBuilder.TestContext,
                actualBuilder.GetModelStateFromSerializableError(actualBuilder.TestContext.Model));

            modelStateTestBuilder(newModelStateTestBuilder);

            return(actualBuilder.ResultTestBuilder);
        }
        /// <summary>
        /// Tests whether <see cref="BadRequestObjectResult"/> contains specific model state errors using test builder.
        /// </summary>
        /// <param name="badRequestTestBuilder">Instance of <see cref="IBadRequestTestBuilder"/> type.</param>
        /// <param name="modelStateTestBuilder">Model state errors test builder.</param>
        /// <returns>The same <see cref="IAndBadRequestTestBuilder"/>.</returns>
        public static IAndBadRequestTestBuilder WithModelStateError(
            this IBadRequestTestBuilder badRequestTestBuilder,
            Action<IModelStateTestBuilder> modelStateTestBuilder)
        {
            var actualBadRequestTestBuilder = GetBadRequestTestBuilder(badRequestTestBuilder);

            actualBadRequestTestBuilder.TestContext.Model = actualBadRequestTestBuilder.GetBadRequestObjectResultValue();

            var newModelStateTestBuilder = new ModelStateTestBuilder(
                actualBadRequestTestBuilder.TestContext,
                modelState: actualBadRequestTestBuilder.GetModelStateFromSerializableError(actualBadRequestTestBuilder.TestContext.Model));

            modelStateTestBuilder(newModelStateTestBuilder);

            return actualBadRequestTestBuilder;
        }