private static MyStateType?MaybeUpdate(MyStateType oldState, MyUpdateType update) => update.ShouldIncrement ? new MyStateType { Counter = oldState.Counter + 1 } : (MyStateType?)null;
public StateMonitorTest(ITestOutputHelper testOutput) { _log = Logs.ToMethod(line => { try { testOutput.WriteLine("{0}: {1}", DateTime.Now, line); } catch { } }).Logger(""); var initialState = new MyStateType { Counter = 0 }; _monitor = new StateMonitor <MyStateType, MyUpdateType>(initialState, MaybeUpdate, _log); }