public void OrderedEventTest() { // Arrange OrderedEvent evt = new OrderedEvent(); int q1 = 100, q2 = 200; firstCalled = secondCalled = -1; evt.Bind(this.FirstCall, q1); evt.Bind(this.SecondCall, q2); // Act evt.Invoke(); // Assert Assert.AreEqual(1, firstCalled); Assert.AreEqual(2, secondCalled); // Test unbind firstCalled = secondCalled = -1; // Act evt.Unbind(SecondCall); evt.Invoke(); // Assert Assert.AreEqual(1, firstCalled); Assert.AreEqual(-1, secondCalled); }