private object RegisterUnregisterHandler() { var person = new PersonNotify(); var executed = false; person.PropertyChanged += person.Extend().Register<PropertyChangedEventHandler>((s, e) => executed = true); executed.Should("The executed variable changed before the event was raised.").Be.False(); person.Name = "Test"; executed.Should("The event registered using the Register extension method was not raised.").Be.True(); executed = false; person.Extend().Unregister("PropertyChanged"); person.Name = "Test2"; // ReSharper disable once ConditionIsAlwaysTrueOrFalse executed.Should("The event was not unregistered from the Unregister extension method.").Be.False(); return person; }
private object RegisterUnregisterHandler() { var person = new PersonNotify(); var executed = false; person.PropertyChanged += person.Extend().Register <PropertyChangedEventHandler>((s, e) => executed = true); executed.Should().BeFalse("The executed variable changed before the event was raised."); person.Name = "Test"; executed.Should().BeTrue("The event registered using the Register extension method was not raised."); executed = false; person.Extend().Unregister("PropertyChanged"); person.Name = "Test2"; // ReSharper disable once ConditionIsAlwaysTrueOrFalse executed.Should().BeFalse("The event was not unregistered from the Unregister extension method."); return(person); }