Inheritance: System.Web.UI.UserControl, IApplicationContextAware
コード例 #1
0
        public void ADDandADDATInjectDependencies()
        {
            Control ctl = GetRootControl();

            MockControl mock = new MockControl();
            ctl.Controls.Add(mock);
            Assert.IsTrue(mock.GotIt);

            mock = new MockControl();
            ctl.Controls.AddAt(0, mock);
            Assert.IsTrue(mock.GotIt);
        }
コード例 #2
0
        public void ADDandADDATInjectDependencies()
        {
            Control ctl = GetRootControl();

            MockControl mock = new MockControl();

            ctl.Controls.Add(mock);
            Assert.IsTrue(mock.GotIt);

            mock = new MockControl();
            ctl.Controls.AddAt(0, mock);
            Assert.IsTrue(mock.GotIt);
        }
コード例 #3
0
        public void DealsWithControlsImplementingISupportsWebDependencyInjection()
        {
            Control rootControl = GetRootControl();

            Control ctl = new ControlSupportingWebDI();

            rootControl.Controls.Add(ctl);

            MockControl subControl = new MockControl();

            ctl.Controls.Add(subControl);
            Assert.IsTrue(subControl.GotIt);

            MockControl subControl2 = new MockControl();

            ctl.Controls.AddAt(0, subControl2);
            Assert.IsTrue(subControl2.GotIt);
        }
コード例 #4
0
        public void DealsWithControlCollectionsHavingNonStandardConstructor()
        {
            Control rootControl = GetRootControl();

            Control ctl = new ControlWithCollectionTypeHavingNonStandardConstructor();

            rootControl.Controls.Add(ctl);

            MockControl subControl = new MockControl();

            ctl.Controls.Add(subControl);
            Assert.IsTrue(subControl.GotIt);

            MockControl subControl2 = new MockControl();

            ctl.Controls.AddAt(0, subControl2);
            Assert.IsTrue(subControl2.GotIt);
        }
コード例 #5
0
        public void DealsWithNoninheritableControlCollections()
        {
            Control rootControl = GetRootControl();

            Control ctl = new ControlWithNoninheritableCollectionType();

            rootControl.Controls.Add(ctl);

            MockControl subControl = new MockControl();

            ctl.Controls.Add(subControl);
            Assert.IsTrue(subControl.GotIt);

            MockControl subControl2 = new MockControl();

            ctl.Controls.AddAt(0, subControl2);
            Assert.IsTrue(subControl2.GotIt);
        }
コード例 #6
0
        public void HierarchyGetsInjectedAfterAttachToTree()
        {
            MockControl subControl = new MockControl();
            MockControl subSubControl = new MockControl();
            subControl.Controls.Add(subSubControl);

            // DI occcurs *after* adding control(s) to rooted hierarchy
            Assert.IsFalse(subControl.GotIt);
            Assert.IsFalse(subSubControl.GotIt);

            Control rootControl = GetRootControl();
            rootControl.Controls.Add(subControl);
            Assert.IsTrue(subControl.GotIt);
            Assert.IsTrue(subSubControl.GotIt);

            MockControl subSubSubControl = new MockControl();
            subSubControl.Controls.Add(subSubSubControl);
            Assert.IsTrue(subSubSubControl.GotIt);
        }
コード例 #7
0
        public void HierarchyGetsInjectedAfterAttachToTree()
        {
            MockControl subControl    = new MockControl();
            MockControl subSubControl = new MockControl();

            subControl.Controls.Add(subSubControl);

            // DI occcurs *after* adding control(s) to rooted hierarchy
            Assert.IsFalse(subControl.GotIt);
            Assert.IsFalse(subSubControl.GotIt);

            Control rootControl = GetRootControl();

            rootControl.Controls.Add(subControl);
            Assert.IsTrue(subControl.GotIt);
            Assert.IsTrue(subSubControl.GotIt);

            MockControl subSubSubControl = new MockControl();

            subSubControl.Controls.Add(subSubSubControl);
            Assert.IsTrue(subSubSubControl.GotIt);
        }
コード例 #8
0
        public void SetsApplicationContextOnIApplicationContextAware()
        {
            using (new TestWebContext("/", "context.aspx"))
            {
                Control rootControl = GetRootControl();

                Control ctl = new ControlSupportingWebDI();
                rootControl.Controls.Add(ctl);

                MockControl subControl = new MockControl();
                ctl.Controls.Add(subControl);
                Assert.IsTrue(subControl.GotIt);
                Assert.IsNotNull(subControl.ApplicationContext);
                Assert.IsTrue(ContextRegistry.GetContext() == subControl.ApplicationContext);

                // controls get AppContext from to their location (if any)
                MockControl subControl2 = new MockControl("/controls");
                ctl.Controls.AddAt(0, subControl2);
                Assert.IsTrue(subControl2.GotIt);
                Assert.IsNotNull(subControl2.ApplicationContext);
                Assert.IsTrue(ContextRegistry.GetContext("/controls/") == subControl2.ApplicationContext);
            }
        }
コード例 #9
0
        public void SetsApplicationContextOnIApplicationContextAware()
        {
            using (new TestWebContext("/", "context.aspx"))
            {
                Control rootControl = GetRootControl();

                Control ctl = new ControlSupportingWebDI();
                rootControl.Controls.Add(ctl);

                MockControl subControl = new MockControl();
                ctl.Controls.Add(subControl);
                Assert.IsTrue(subControl.GotIt);
                Assert.IsNotNull(subControl.ApplicationContext);
                Assert.IsTrue(ContextRegistry.GetContext() == subControl.ApplicationContext);

                // controls get AppContext from to their location (if any)
                MockControl subControl2 = new MockControl("/controls");
                ctl.Controls.AddAt(0, subControl2);
                Assert.IsTrue(subControl2.GotIt);
                Assert.IsNotNull(subControl2.ApplicationContext);
                Assert.IsTrue(ContextRegistry.GetContext("/controls/") == subControl2.ApplicationContext);
            }
        }
コード例 #10
0
        public void DealsWithControlsImplementingISupportsWebDependencyInjection()
        {
            Control rootControl = GetRootControl();

            Control ctl = new ControlSupportingWebDI();
            rootControl.Controls.Add(ctl);

            MockControl subControl = new MockControl();
            ctl.Controls.Add(subControl);
            Assert.IsTrue(subControl.GotIt);

            MockControl subControl2 = new MockControl();
            ctl.Controls.AddAt(0, subControl2);
            Assert.IsTrue(subControl2.GotIt);
        }
コード例 #11
0
        public void DealsWithControlCollectionsHavingNonStandardConstructor()
        {
            Control rootControl = GetRootControl();

            Control ctl = new ControlWithCollectionTypeHavingNonStandardConstructor();
            rootControl.Controls.Add(ctl);

            MockControl subControl = new MockControl();
            ctl.Controls.Add(subControl);
            Assert.IsTrue(subControl.GotIt);

            MockControl subControl2 = new MockControl();
            ctl.Controls.AddAt(0, subControl2);
            Assert.IsTrue(subControl2.GotIt);
        }
コード例 #12
0
        public void DealsWithNoninheritableControlCollections()
        {
            Control rootControl = GetRootControl();

            Control ctl = new ControlWithNoninheritableCollectionType();
            rootControl.Controls.Add(ctl);

            MockControl subControl = new MockControl();
            ctl.Controls.Add(subControl);
            Assert.IsTrue(subControl.GotIt);

            MockControl subControl2 = new MockControl();
            ctl.Controls.AddAt(0, subControl2);
            Assert.IsTrue(subControl2.GotIt);
        }