public void RaiseUntil_AbortableChain_NotHandled_AllCallbacksExecuted() { int numberOfHandlersExecuted = 0; _abortable += (handler, e) => { numberOfHandlersExecuted++; return(e.Value = "1"); }; _abortable += (handler, e) => { numberOfHandlersExecuted++; return(e.Value = "2"); }; _abortable += (handler, e) => { numberOfHandlersExecuted++; return(e.Value = "3"); }; var args = new MutableValueEventArgs <string>(); bool result = _abortable.RaiseUntil(this, args, e => e.Equals("5", StringComparison.OrdinalIgnoreCase)); Assert.That(result, Is.False); Assert.That(args.Value, Is.EqualTo("3"), "value of the last callback"); Assert.That(numberOfHandlersExecuted, Is.EqualTo(3)); }
public void RaiseUntil_AbortableChain_HandledWhenValueIs2_NoFurtherCallbacksExecuted() { int numberOfHandlersExecuted = 0; _abortable += (handler, e) => { numberOfHandlersExecuted++; return(e.Value = "1"); }; _abortable += (handler, e) => { numberOfHandlersExecuted++; return(e.Value = "2"); }; _abortable += (handler, e) => { numberOfHandlersExecuted++; return(e.Value = "3"); }; var args = new MutableValueEventArgs <string>(); bool result = _abortable.RaiseUntil(this, args, e => e.Equals("2", StringComparison.OrdinalIgnoreCase)); Assert.That(result, Is.True); Assert.That(args.Value, Is.EqualTo("2")); Assert.That(numberOfHandlersExecuted, Is.EqualTo(2)); }
public void Explore() { IValueEventArgs <int> value = new ValueEventArgs <int>(1); value = Args.Value(1); var multi = new MultiEventArgs <int, string>(1, "1"); multi = Args.Value(1, "1"); IMutableValueEventArgs <decimal> mutable = new MutableValueEventArgs <decimal> { Value = 1m }; mutable = Args.Mutable(1m); var changed = new PropertyValueChangedEventArgs <int>("prop", 2, 3); changed = Args.Changed("prop", 2, 3); var indexed = new ValueIndexChangedEventArgs <string>(2, "old", "new"); indexed = Args.Changed(2, "old", "new"); var changing = new PropertyValueChangingEventArgs <int>("prop", 2, 3); changing = Args.Changing("prop", 2, 3); var indexing = new ValueIndexChangingEventArgs <string>(2, "old", "new"); indexing = Args.Changing(2, "old", "new"); ICancelEventArgs cancel = new ValueIndexCancelEventArgs <string>(2, "value"); cancel = Args.Cancel(2, "value"); IIndexEventArgs index = new ValueIndexEventArgs <string>(2, "value"); index = Args.Index(2, "value"); IChainedEventArgs chained = new ChainedEventArgs(); chained = Args.Chained(); }