protected virtual WebTabStripRenderingContext CreateRenderingContext(HtmlTextWriter writer)
        {
            ArgumentUtility.CheckNotNull("writer", writer);

            var builder = new WebTabRendererAdapterArrayBuilder(GetVisibleTabs().ToArray());

            builder.EnableSelectedTab = EnableSelectedTab;
            builder.SelectedTabStyle  = SelectedTabStyle;
            builder.TabStyle          = TabStyle;

            var renderers = builder.GetWebTabRenderers();

            return(new WebTabStripRenderingContext(Page.Context, writer, this, renderers));
        }
        public void GetWebTabRenderers_OneTab()
        {
            var webTabMock         = MockRepository.GenerateMock <IWebTab>();
            var fakeWebTabRenderer = CreateWebTabRenderer();
            var builder            = new WebTabRendererAdapterArrayBuilder(new[] { webTabMock });

            webTabMock.Expect(mock => mock.GetRenderer()).Return(fakeWebTabRenderer);
            webTabMock.Replay();

            var result = builder.GetWebTabRenderers();

            webTabMock.VerifyAllExpectations();
            Assert.That(result.Length, Is.EqualTo(1));
            Assert.That(result[0], Is.TypeOf(typeof(WebTabRendererAdapter)));
            Assert.That(result[0].IsLast, Is.True);
            Assert.That(result[0].WebTab, Is.SameAs(webTabMock));
            Assert.That(PrivateInvoke.GetNonPublicField(result[0], "_webTabRenderer"), Is.SameAs(fakeWebTabRenderer));
        }