コード例 #1
0
        public void EventSubscription_ctor_subscribe_static_different_type_event()
        {
            // Arrange
            var instanceMock = new Mock <IDummyObserver>();

            // Act
            var subscription = new EventSubscription(
                typeof(DummyEventSource), nameof(DummyEventSource.StaticHandler1), new EventHandler(instanceMock.Object.EventHandler));

            // Assert
            var args = new EventArgs();

            DummyEventSource.InvokeStaticHandler1(args);
            instanceMock.Verify(e => e.EventHandler(null, args), Times.Once);
        }
コード例 #2
0
        public void AddEventSubscription_adds_static_handler_delegate_to_the_DisposableContainer()
        {
            var container    = new DisposableContainer();
            var instanceMock = new Mock <IDummyObserver>();
            var args         = new EventArgs();

            container.AddEventSubscription <object, EventArgs>(
                typeof(DummyEventSource),
                nameof(DummyEventSource.StaticHandler1),
                instanceMock.Object.EventHandler);
            DummyEventSource.InvokeStaticHandler1(args);
            container.Dispose();
            DummyEventSource.InvokeStaticHandler1(args);

            instanceMock.Verify(d => d.EventHandler(It.IsAny <object>(), It.IsAny <EventArgs>()), Times.Once);
        }