/// <summary>
        /// Tests whether the <see cref="ActionResult"/>
        /// has the same <see cref="IUrlHelper"/> type as the provided one.
        /// </summary>
        /// <param name="baseTestBuilderWithUrlHelper">
        /// Instance of <see cref="IBaseTestBuilderWithUrlHelperResult{TUrlHelperResultTestBuilder}"/> type.
        /// </param>
        /// <returns>The same URL helper <see cref="ActionResult"/> test builder.</returns>
        public static TUrlHelperResultTestBuilder WithUrlHelperOfType <TUrlHelperResultTestBuilder, TUrlHelper>(
            this IBaseTestBuilderWithUrlHelperResult <TUrlHelperResultTestBuilder> baseTestBuilderWithUrlHelper)
            where TUrlHelper : IUrlHelper
            where TUrlHelperResultTestBuilder : IBaseTestBuilderWithActionResult
        {
            var actualBuilder = GetActualBuilder(baseTestBuilderWithUrlHelper);

            RouteActionResultValidator.ValidateUrlHelperOfType <TUrlHelper>(
                actualBuilder.TestContext.MethodResult,
                actualBuilder.ThrowNewFailedValidationException);

            return(actualBuilder.ResultTestBuilder);
        }
 GetActualBuilder <TUrlHelperResultTestBuilder>(
     IBaseTestBuilderWithUrlHelperResult <TUrlHelperResultTestBuilder> baseTestBuilderWithUrlHelperResult)
     where TUrlHelperResultTestBuilder : IBaseTestBuilderWithActionResult
 => (IBaseTestBuilderWithUrlHelperResultInternal <TUrlHelperResultTestBuilder>)baseTestBuilderWithUrlHelperResult;