public void Dispose_NoSiteNoEventHandler_Nop()
        {
            var component = new SubMarshalByValueComponent();

            component.Dispose();

            // With events.
            Assert.NotNull(component.EventsEntryPoint);
            component.Dispose();
        }
        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);
        }