internal async Task Bus_Should_Support_Observation(int[] input, ObservableSetup setup, int[] expectedOutput) { var output = new List <int>(); using (setup(_bus.Observe <int>()).Subscribe(output.Add)) { foreach (var message in input) { await _bus.Publish(message); } output.ShouldBe(expectedOutput); } }
internal async Task Observable_Store_Should_Allow_Observation( object[] actionSequence, ObservableSetup setup, object[] expectedObservedActions) { var observedActions = new List <object>(); using (setup(_store.Observe()).Subscribe(observedActions.Add)) { foreach (var action in actionSequence) { await _store.Dispatch(action); } } observedActions.ShouldBe(expectedObservedActions); }