Пример #1
0
        public void ModuleHost_DefaultSortPriority()
        {
            // Given
            var events = new DummyEvents();

            events.OneWay += DummyHandler;

            var m1 = new DummyModBase(1);

            m1.Initialize(events);

            var m2 = new DummyModBase(2);

            m2.Initialize(events);

            var loader = new Mock <ILoader <IDummyEvents> >();
            var host   = new TestModuleHost(loader.Object, events);

            // When/Then - Exception thrown if execution is out of sequence
            var args = new DummyEventArgs {
                ExecutionCount = 0
            };

            host.InvokeOneWayEvent(args);
        }
Пример #2
0
        public void ModuleHost_ShouldSortDelegatesByPriority()
        {
            // Given
            var events = new DummyEvents();
            var m0     = new DummyMod1();

            m0.Initialize(events);

            var m1 = new DummyMod1();

            m1.Initialize(events);

            var m2 = new DummyMod2(0);

            m2.Initialize(events);

            var loader = new Mock <ILoader <IDummyEvents> >();
            var host   = new TestModuleHost(loader.Object, events);

            // When/Then - Exception thrown if execution is out of sequence
            var args = new DummyEventArgs {
                ExecutionCount = 0
            };

            host.InvokeOneWayEvent(args);
        }
Пример #3
0
        public void ModuleHost_ShouldInvokeOneWayEvent()
        {
            // Given
            var triggered = false;
            var events    = new DummyEvents();

            events.OneWay += (e) => triggered = true;

            var loader = new Mock <ILoader <IDummyEvents> >();
            var host   = new TestModuleHost(loader.Object, events);

            // When
            host.InvokeOneWayEvent();

            // Then
            Assert.True(triggered);
        }