public void ModuleHost_ShouldSortCancelableDelegatesByPriority() { // 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 DummyCancelEventArgs { ExecutionCount = 0 }; host.InvokeCanCancelEvent(args); }
public void ModuleHost_ShouldInvokeCanCancelEvent() { // Given var triggered = false; var events = new DummyEvents(); events.CanCancel += (e) => triggered = true; var loader = new Mock <ILoader <IDummyEvents> >(); var host = new TestModuleHost(loader.Object, events); // When var result = host.InvokeCanCancelEvent(); // Then Assert.True(triggered); Assert.False(result.Cancel); }