public void EnableAndDisableShouldBeCalledAsEventHandlerCountTransitionsBetweenZeroAndNonZero() { var signal = new EnableTestingSignal(); Assert.That(signal.Enabled, Is.False); signal.FireChanged(); Assert.That(signal.Enabled, Is.False); Assert.That(signal.Enabled, Is.False); signal.Changed += ignore_signal_event_handler; Assert.That(signal.Enabled, Is.True); signal.Changed -= ignore_signal_event_handler; Assert.That(signal.Enabled, Is.False); signal.Changed += ignore_signal_event_handler; Assert.That(signal.Enabled, Is.True); signal.Changed += ignore_signal_event_handler2; Assert.That(signal.Enabled, Is.True); signal.Changed -= ignore_signal_event_handler; Assert.That(signal.Enabled, Is.True); signal.Changed -= ignore_signal_event_handler2; Assert.That(signal.Enabled, Is.False); }