public void Constructor_AddEventDuplicate_ShouldThrowInvalidOperation() { var eventAddIn = new FakeEventAddIn(); var eventManager = CreateEventManager (new[] { eventAddIn, eventAddIn }); Assert.That (() => eventManager.LoadAddIns(), Throws.InvalidOperationException); }
public void Constructor_AddSharedExternalEvents_ShouldSucceed() { var eventAddIn = new FakeEventAddIn(); var eventManager = CreateEventManager (new[] { eventAddIn }); eventManager.LoadAddIns(); Assert.That (eventManager.HasEvent (eventAddIn.Name, eventAddIn.FakeEventName), Is.True); Assert.That (eventAddIn.IsLoaded && eventAddIn.EventsRegistered, Is.True); }
public void Dispose_SharedEventIsNotDisposed_ShouldSucceed() { var eventAddIn = new FakeEventAddIn(); var eventManager = CreateEventManager (new[] { eventAddIn }); eventManager.LoadAddIns(); Assert.That (eventManager.HasEvent (eventAddIn.Name, eventAddIn.FakeEventName), Is.True); Assert.That (eventAddIn.IsLoaded && eventAddIn.EventsRegistered, Is.True); eventManager.Dispose(); Assert.That (eventAddIn, Is.Not.Null); Assert.That (eventAddIn.IsLoaded && eventAddIn.EventsRegistered, Is.False); }
public void Event_FireSharedEvent_ShouldSucceed() { var eventAddIn = new FakeEventAddIn(); var eventManager = CreateEventManager (new[] { eventAddIn }); eventManager.LoadAddIns(); var wasCalled = false; eventManager.EventFired += (sender, args) => { Assert.That (args.ScriptArgs, Is.TypeOf<FakeEventData>()); Assert.That (args.ScriptArgs.EventID, Is.EqualTo (c_fakeEventID)); Assert.That (((FakeEventData) args.ScriptArgs).ContainsData, Is.True); wasCalled = true; }; eventManager.Register (eventAddIn.FakeEventName, "some callback", eventAddIn.Name, new Condition (CreateCondition())); Assert.That (() => eventAddIn.RaiseEvent(), Throws.Nothing); Assert.That (wasCalled, Is.True); }
public void UnegisterEvent_EventDeregistration_ShouldSucceed() { ScriptEvent scriptEvent = null; var eventManager = CreateEventManager (new List<EventAddInBase>()); var eventAddIn = new FakeEventAddIn(); Assert.That ( () => eventManager.RegisterEvent (eventAddIn, ref scriptEvent, eventAddIn.FakeEventName), Throws.Nothing); Assert.That ( () => eventManager.UnregisterEvent (eventAddIn, ref scriptEvent, eventAddIn.FakeEventName), Throws.Nothing); Assert.That (scriptEvent, Is.Null); Assert.That (eventManager.HasEvent (eventAddIn.Name, eventAddIn.FakeEventName), Is.False); Assert.That (eventAddIn.IsLoaded && eventAddIn.EventsRegistered, Is.False); }
public void RegisterEvent_EventDuplicateRegistration_ShouldThrowInvalidOperation() { ScriptEvent scriptEvent = null; var eventManager = CreateEventManager (new List<EventAddInBase>()); var eventAddIn = new FakeEventAddIn(); Assert.That ( () => eventManager.RegisterEvent (eventAddIn, ref scriptEvent, eventAddIn.FakeEventName), Throws.Nothing); Assert.That ( () => eventManager.RegisterEvent (eventAddIn, ref scriptEvent, eventAddIn.FakeEventName), Throws.InvalidOperationException.With.Message.Contains ("already registered.")); Assert.That (scriptEvent, Is.Not.Null); Assert.That (eventManager.HasEvent (eventAddIn.Name, eventAddIn.FakeEventName), Is.True); }
public void HasEvent_EventDoesExist_ShouldReturnTrue() { var eventManager = CreateEventManager (new List<EventAddInBase>()); var eventAddIn = new FakeEventAddIn(); eventAddIn.RegisterEvents (eventManager); Assert.That (eventManager.HasEvent (eventAddIn.Name, eventAddIn.FakeEventName), Is.True); }
public void Event_FireUnregisteredEventInRegisteredModule_ShouldThrow() { var eventAddIn = new FakeEventAddIn(); var eventManager = CreateEventManager (new[] { eventAddIn }); eventManager.LoadAddIns(); eventManager.EventFired += (sender, args) => { }; // will never be called eventManager.Register (eventAddIn.FakeEventName, "some callback", eventAddIn.Name, new Condition (CreateCondition())); eventAddIn.FakeEventName = "some other event"; Assert.That ( () => eventAddIn.RaiseEvent(), Throws.InvalidOperationException .With.Message.EqualTo (string.Format ("Cannot find '{0}.{1}'.", eventAddIn.Name, eventAddIn.FakeEventName))); }