コード例 #1
0
        public void Dispose_DisposingSiteEventHandler_InvokesEventHandlerAndRemovesSiteFromComponent(bool disposing)
        {
            bool calledDisposed = false;
            var  site           = new Site();
            var  component      = new SubMarshalByValueComponent()
            {
                Site = site
            };

            component.Disposed += (sender, e) =>
            {
                Assert.Same(component, sender);
                Assert.Same(EventArgs.Empty, e);
                calledDisposed = true;
            };

            Assert.False(calledDisposed);
            site.Container.Add(component);
            component.DisposeEntryPoint(disposing);
            Assert.Equal(disposing, calledDisposed);
            Assert.Empty(site.Container.Components);

            // Call multiple times.
            component.Site = site;
            site.Container = null;
            calledDisposed = false;
            component.DisposeEntryPoint(disposing);
            Assert.Equal(disposing, calledDisposed);
        }
コード例 #2
0
        public void Dispose_DisposingNoSiteNoEventHandler_Nop(bool disposing)
        {
            var component = new SubMarshalByValueComponent();

            component.DisposeEntryPoint(disposing);

            // With events.
            Assert.NotNull(component.EventsEntryPoint);
            component.DisposeEntryPoint(disposing);
        }
コード例 #3
0
        public void Ctor_Default()
        {
            var component = new SubMarshalByValueComponent();

            Assert.NotNull(component.EventsEntryPoint);
            Assert.Same(component.EventsEntryPoint, component.EventsEntryPoint);
            Assert.Null(component.Container);
            Assert.False(component.DesignMode);
            Assert.Null(component.Site);
            Assert.Null(component.GetService(null));
        }
コード例 #4
0
        public void Site_Set_GetReturnsExpected()
        {
            var site      = new Site();
            var component = new SubMarshalByValueComponent()
            {
                Site = site
            };

            Assert.Same(site, component.Site);

            Assert.Same(site.Container, component.Container);
            Assert.Equal(site.DesignMode, component.DesignMode);
            Assert.Equal("service", component.GetService(typeof(int)));
        }
コード例 #5
0
        public void Dispose_NoSiteEventHandler_InvokesEventHandler()
        {
            bool calledDisposed = false;
            var  component      = new SubMarshalByValueComponent();

            component.Disposed += (sender, e) =>
            {
                Assert.Same(component, sender);
                Assert.Same(EventArgs.Empty, e);
                calledDisposed = true;
            };

            Assert.False(calledDisposed);
            component.Dispose();
            Assert.True(calledDisposed);

            // Call multiple times.
            calledDisposed = false;
            component.Dispose();
            Assert.True(calledDisposed);
        }