public void ReactWithServerOnlyTrueShouldCallRenderHtmlWithTrue()
        {
            var config = ConfigureMockConfiguration();

            var htmlHelperMock = new HtmlHelperMocks();
            var environment    = ConfigureMockEnvironment();
            var routerMocks    = new ReactRouterMocks(config, environment);

            var result = HtmlHelperExtensions.ReactRouterWithContext(
                htmlHelper: htmlHelperMock.htmlHelper.Object,
                componentName: "ComponentName",
                props: new { },
                path: "/",
                htmlTag: "span",
                clientOnly: false,
                serverOnly: true
                );

            routerMocks.component.Verify(x => x.RenderRouterWithContext(It.Is <bool>(y => y == false), It.Is <bool>(z => z == true)), Times.Once);
        }
        public void EngineIsReturnedToPoolAfterRender()
        {
            var config         = ConfigureMockConfiguration();
            var environment    = ConfigureMockEnvironment();
            var routerMocks    = new ReactRouterMocks(config, environment);
            var htmlHelperMock = new HtmlHelperMocks();

            environment.Verify(x => x.ReturnEngineToPool(), Times.Never);
            var result = HtmlHelperExtensions.ReactRouterWithContext(
                htmlHelper: htmlHelperMock.htmlHelper.Object,
                componentName: "ComponentName",
                props: new { },
                path: "/",
                htmlTag: "span",
                clientOnly: true,
                serverOnly: true
                );

            environment.Verify(x => x.ReturnEngineToPool(), Times.Once);
        }