public void UnwrapOrElseReturnsFallbackForNone() { var none = Option.None <string>(); var counter = DelegateHelpers.TrackInvocationCount(() => "else"); Assert.AreEqual("else", none.UnwrapOrElse(counter.WrappedDelegate)); Assert.AreEqual(1, counter.InvocationCount); }
public void UnwrapOrElseReturnsValueForSome() { var some = Option.Some("some"); var counter = DelegateHelpers.TrackInvocationCount(() => "else"); Assert.AreEqual("some", some.UnwrapOrElse(counter.WrappedDelegate)); Assert.AreEqual(0, counter.InvocationCount); }
public void AndThenReturnsInvocationResultForOk() { var ok = Ok; var op = DelegateHelpers.TrackInvocationCount((string s) => Result.Ok <int, int>(s.Length)); Assert.AreEqual(Result.Ok <int, int>(OkValue.Length), ok.AndThen(op.WrappedDelegate)); Assert.AreEqual(1, op.InvocationCount); }
public void MapOrReturnsFallbackForNone() { var none = Option.None <string>(); var counter = DelegateHelpers.TrackInvocationCount((string s) => s.Length); Assert.AreEqual(8, none.MapOr(8, counter.WrappedDelegate)); Assert.AreEqual(0, counter.InvocationCount); }
public void AndThenReturnsErrorResultWithErrorValueForErr() { var err = Err; var op = DelegateHelpers.TrackInvocationCount((string s) => Result.Ok <int, int>(s.Length)); Assert.AreEqual(Result.Err <int, int>(ErrValue), err.AndThen(op.WrappedDelegate)); Assert.AreEqual(0, op.InvocationCount); }
public void OrThenReturnsFirstResultForOk() { var ok1 = Result.Ok <string, int>(OkValue + '1'); var ok2Func = DelegateHelpers.TrackInvocationCount((int err) => Result.Err <string, int>(err * err)); Assert.AreEqual(ok1, ok1.OrThen(ok2Func.WrappedDelegate)); Assert.AreEqual(0, ok2Func.InvocationCount); }
public void UnwrapOrElseReturnsOkValueForOk() { var ok = Ok; var fallbackFunc = DelegateHelpers.TrackInvocationCount(() => "fallback"); Assert.AreEqual(OkValue, ok.UnwrapOrElse(fallbackFunc.WrappedDelegate)); Assert.AreEqual(0, fallbackFunc.InvocationCount); }
public void AndThenReturnsInvocationFunctionResultForSome() { var some = Option.Some("some"); var funcCounter = DelegateHelpers.TrackInvocationCount((string s) => Option.Some(s.Length)); Assert.AreEqual(Option.Some(4), some.AndThen(funcCounter.WrappedDelegate)); Assert.AreEqual(1, funcCounter.InvocationCount); }
public void AndThenReturnsNoneForNone() { var none = Option.None <string>(); var funcCounter = DelegateHelpers.TrackInvocationCount((string s) => Option.Some(s.Length)); Assert.AreEqual(Option.None <int>(), none.AndThen(funcCounter.WrappedDelegate)); Assert.AreEqual(0, funcCounter.InvocationCount); }
public void UnwrapOrElseReturnsFallbackFunctionInvocationResultForErr() { var err = Err; var fallbackFunc = DelegateHelpers.TrackInvocationCount(() => "fallback"); Assert.AreEqual("fallback", err.UnwrapOrElse(fallbackFunc.WrappedDelegate)); Assert.AreEqual(1, fallbackFunc.InvocationCount); }
public void MapReturnsInvocationResultForSome() { var some = Option.Some("some"); var counter = DelegateHelpers.TrackInvocationCount((string s) => s.Length); Assert.AreEqual(Option.Some(4), some.Map(counter.WrappedDelegate)); Assert.AreEqual(1, counter.InvocationCount); }
public void FilterReturnsNoneForNone() { var none = Option.None <string>(); var filterCounter = DelegateHelpers.TrackInvocationCount((string s) => s.Equals("a", StringComparison.Ordinal)); Assert.AreEqual(none, none.Filter(filterCounter.WrappedDelegate)); Assert.AreEqual(0, filterCounter.InvocationCount); }
public void FilterReturnsNoneWhenPredicateDoesNotPassesOnSome() { var some = Option.Some("some"); var filterCounter = DelegateHelpers.TrackInvocationCount((string s) => s.Equals("a", StringComparison.Ordinal)); Assert.AreEqual(Option.None <string>(), some.Filter(filterCounter.WrappedDelegate)); Assert.AreEqual(1, filterCounter.InvocationCount); }
public void MapOrReturnsInvocationResultForOk() { var ok = Ok; var mapFuncCounter = DelegateHelpers.TrackInvocationCount <string, int>(str => str.Length); var mapped = ok.MapOr(-1, mapFuncCounter.WrappedDelegate); Assert.AreEqual(1, mapFuncCounter.InvocationCount); Assert.AreEqual(OkValue.Length, mapped); }
public void MapOrReturnsFallbackForErr() { var err = Err; var mapFuncCounter = DelegateHelpers.TrackInvocationCount <string, int>(str => str.Length); var mapped = err.MapOr(-1, mapFuncCounter.WrappedDelegate); Assert.AreEqual(0, mapFuncCounter.InvocationCount); Assert.AreEqual(-1, mapped); }
public void MapReturnsErrResultForErr() { var err = Err; var mapFuncCounter = DelegateHelpers.TrackInvocationCount <string, int>(str => str.Length); var mappedErr = err.Map(mapFuncCounter.WrappedDelegate); Assert.AreEqual(0, mapFuncCounter.InvocationCount); Assert.IsTrue(mappedErr.IsErr); Assert.AreEqual(ErrValue, mappedErr.Err.Value); }
public void MapOrElseReturnsInvocationResultForSome() { var some = Option.Some("some"); var fallbackCounter = DelegateHelpers.TrackInvocationCount(() => 8); var funcCounter = DelegateHelpers.TrackInvocationCount((string s) => s.Length); Assert.AreEqual(4, some.MapOrElse(fallbackCounter.WrappedDelegate, funcCounter.WrappedDelegate)); Assert.AreEqual(0, fallbackCounter.InvocationCount); Assert.AreEqual(1, funcCounter.InvocationCount); }
public void MapOrElseReturnsFallbackInvocationResultForNone() { var none = Option.None <string>(); var fallbackCounter = DelegateHelpers.TrackInvocationCount(() => 8); var funcCounter = DelegateHelpers.TrackInvocationCount((string s) => s.Length); Assert.AreEqual(8, none.MapOrElse(fallbackCounter.WrappedDelegate, funcCounter.WrappedDelegate)); Assert.AreEqual(1, fallbackCounter.InvocationCount); Assert.AreEqual(0, funcCounter.InvocationCount); }
public void MapErrReturnsOkResultForOk() { var ok = Ok; var funcCounter = DelegateHelpers.TrackInvocationCount <int, int>(n => n * n); var mappedOk = ok.MapErr(funcCounter.WrappedDelegate); Assert.AreEqual(0, funcCounter.InvocationCount); Assert.IsTrue(mappedOk.IsOk); Assert.AreEqual(OkValue, mappedOk.Ok.Value); }
public void MapErrReturnsInvocationResultForErr() { var err = Err; var funcCounter = DelegateHelpers.TrackInvocationCount <int, int>(n => n * n); var mappedErr = err.MapErr(funcCounter.WrappedDelegate); Assert.AreEqual(1, funcCounter.InvocationCount); Assert.IsTrue(mappedErr.IsErr); Assert.AreEqual(ErrValue * ErrValue, mappedErr.Err.Value); }
public void OrElseReturnsResultOfInvocationIfNone() { var none = Option.None <string>(); var some = Option.Some("some"); var funcSome = DelegateHelpers.TrackInvocationCount(() => some); var funcNone = DelegateHelpers.TrackInvocationCount(() => none); Assert.AreEqual(some, none.OrElse(funcSome.WrappedDelegate)); Assert.AreEqual(1, funcSome.InvocationCount); Assert.AreEqual(none, none.OrElse(funcNone.WrappedDelegate)); Assert.AreEqual(1, funcNone.InvocationCount); }
public void OrThenReturnsFirsOptionIfSome() { var some1 = Option.Some("some1"); var some2 = Option.Some("some2"); var none = Option.None <string>(); var funcSome2Counter = DelegateHelpers.TrackInvocationCount(() => some2); var funcNoneCounter = DelegateHelpers.TrackInvocationCount(() => none); Assert.AreEqual(some1, some1.OrElse(funcSome2Counter.WrappedDelegate)); Assert.AreEqual(0, funcSome2Counter.InvocationCount); Assert.AreEqual(some1, some1.OrElse(funcNoneCounter.WrappedDelegate)); Assert.AreEqual(0, funcNoneCounter.InvocationCount); }
public void TrackInvocationCountImplementedCorrectlyForFunc( ) { var callCount = 0; DelegateInvocationCounter <Func <Int32> > counter = DelegateHelpers.TrackInvocationCount <Int32> (() => { callCount++; return(12 + callCount); }); for (var i = 1; i < 6; i++) { var ret = counter.WrappedDelegate( ); Assert.AreEqual(i, counter.InvocationCount); Assert.AreEqual(i, callCount); Assert.AreEqual(12 + i, ret); } }
public void TrackInvocationCountImplementedCorrectlyForAction( ) { var callCount = 0; DelegateInvocationCounter <Action> counter = DelegateHelpers.TrackInvocationCount(() => { callCount++; }); for (var i = 1; i < 6; i++) { counter.WrappedDelegate( ); Assert.AreEqual(i, counter.InvocationCount); Assert.AreEqual(i, callCount); } counter.Reset( ); Assert.AreEqual(0, counter.InvocationCount); }
public void TrackInvocationCountImplementedCorrectlyForAction01( ) { var callCount = 0; DelegateInvocationCounter <Action <String> > counter = DelegateHelpers.TrackInvocationCount <String> ((arg1) => { callCount++; Assert.AreEqual("arg1", arg1); }); for (var i = 1; i < 6; i++) { counter.WrappedDelegate("arg1"); Assert.AreEqual(i, counter.InvocationCount); Assert.AreEqual(i, callCount); } counter.Reset( ); Assert.AreEqual(0, counter.InvocationCount); }
public void TrackInvocationCountImplementedCorrectlyForFunc02( ) { var callCount = 0; DelegateInvocationCounter <Func <String, String, Int32> > counter = DelegateHelpers.TrackInvocationCount <String, String, Int32> ((arg1, arg2) => { callCount++; Assert.AreEqual("arg1", arg1); Assert.AreEqual("arg2", arg2); return(12 + callCount); }); for (var i = 1; i < 6; i++) { var ret = counter.WrappedDelegate("arg1", "arg2"); Assert.AreEqual(i, counter.InvocationCount); Assert.AreEqual(i, callCount); Assert.AreEqual(12 + i, ret); } }
public void TrackInvocationCountImplementedCorrectlyForFunc16( ) { var callCount = 0; DelegateInvocationCounter <Func <String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, Int32> > counter = DelegateHelpers.TrackInvocationCount <String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, Int32> ((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16) => { callCount++; Assert.AreEqual("arg1", arg1); Assert.AreEqual("arg2", arg2); Assert.AreEqual("arg3", arg3); Assert.AreEqual("arg4", arg4); Assert.AreEqual("arg5", arg5); Assert.AreEqual("arg6", arg6); Assert.AreEqual("arg7", arg7); Assert.AreEqual("arg8", arg8); Assert.AreEqual("arg9", arg9); Assert.AreEqual("arg10", arg10); Assert.AreEqual("arg11", arg11); Assert.AreEqual("arg12", arg12); Assert.AreEqual("arg13", arg13); Assert.AreEqual("arg14", arg14); Assert.AreEqual("arg15", arg15); Assert.AreEqual("arg16", arg16); return(12 + callCount); }); for (var i = 1; i < 6; i++) { var ret = counter.WrappedDelegate("arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7", "arg8", "arg9", "arg10", "arg11", "arg12", "arg13", "arg14", "arg15", "arg16"); Assert.AreEqual(i, counter.InvocationCount); Assert.AreEqual(i, callCount); Assert.AreEqual(12 + i, ret); } }
public void TrackInvocationCountImplementedCorrectlyForAction15( ) { var callCount = 0; DelegateInvocationCounter <Action <String, String, String, String, String, String, String, String, String, String, String, String, String, String, String> > counter = DelegateHelpers.TrackInvocationCount <String, String, String, String, String, String, String, String, String, String, String, String, String, String, String> ((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15) => { callCount++; Assert.AreEqual("arg1", arg1); Assert.AreEqual("arg2", arg2); Assert.AreEqual("arg3", arg3); Assert.AreEqual("arg4", arg4); Assert.AreEqual("arg5", arg5); Assert.AreEqual("arg6", arg6); Assert.AreEqual("arg7", arg7); Assert.AreEqual("arg8", arg8); Assert.AreEqual("arg9", arg9); Assert.AreEqual("arg10", arg10); Assert.AreEqual("arg11", arg11); Assert.AreEqual("arg12", arg12); Assert.AreEqual("arg13", arg13); Assert.AreEqual("arg14", arg14); Assert.AreEqual("arg15", arg15); }); for (var i = 1; i < 6; i++) { counter.WrappedDelegate("arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7", "arg8", "arg9", "arg10", "arg11", "arg12", "arg13", "arg14", "arg15"); Assert.AreEqual(i, counter.InvocationCount); Assert.AreEqual(i, callCount); } counter.Reset( ); Assert.AreEqual(0, counter.InvocationCount); }