Test the creation and execution of a basic event
class TestEventArgs : EventArgs { string name; this(string name) { this.name = name; } } bool wasRun; // Test creation auto eventHandler = (void* sender, EventArgs args) { TestEventArgs testArgs = cast(TestEventArgs)args; assert(testArgs.name == "test", "Expected value of event args to be \"Test\""); wasRun = true; }; BasicEvent testEvent = new BasicEvent; testEvent ~= eventHandler; // Test execution testEvent(null, new TestEventArgs("test")); assert(wasRun, "Expected event to be executed!"); // Test deletion of event handler testEvent -= eventHandler; assert(testEvent.count == 0, "Expected event to have no handlers!");
A basic event that takes an EventArgs as arguments