public void RaiseCanExecuteChangedRaisesCanExecuteChanged() { var handlers = new AsyncDelegateObjectHandlers(); var command = new global::Anori.WinUI.Commands.AsyncRelayCommand <object>(async o => await handlers.Execute(o), o => false); var canExecuteChangedRaised = false; command.CanExecuteChanged += delegate { canExecuteChangedRaised = true; }; command.RaiseCanExecuteChanged(); Assert.True(canExecuteChangedRaised); }
public void CanRemoveCanExecuteChangedHandler() { var command = new global::Anori.WinUI.Commands.AsyncRelayCommand <object>(async o => await Task.Yield()); var canExecuteChangedRaised = false; void Handler(object s, EventArgs e) => canExecuteChangedRaised = true; command.CanExecuteChanged += Handler; command.CanExecuteChanged -= Handler; command.RaiseCanExecuteChanged(); Assert.False(canExecuteChangedRaised); }