public static IObservable <T> TraceTest <T>(this IObservable <T> source, ITestOutputHelper output, bool?enabled = null, [CallerMemberName] string callerMemberName = null, [CallerFilePath] string callerFilePath = null, [CallerLineNumber] int callerLineNumber = 0) => source.Wrap(new TestHereTracer(output, CallerInfo.Here(callerMemberName, callerFilePath, callerLineNumber), enabled).Trace);
public static IObservable <T> TraceHere <T>( this IObservable <T> source, bool?enabled = null, Func <ICallerInfo, bool?, Func <IObservable <T>, IObservable <T> > > target = null, [CallerMemberName] string callerMemberName = null, [CallerFilePath] string callerFilePath = null, [CallerLineNumber] int callerLineNumber = 0) { var here = CallerInfo.Here(callerMemberName, callerFilePath, callerLineNumber); return(source.Wrap(target == null ? DefaultWrapper <T>(here, enabled) : target(here, enabled))); }