public RecordedOutput Record(Action action) { _state = new RecordingState(); action(); var recordedOutput = new RecordedOutput(_state.RecordedContentType, _state.RecordedContent); _state = new NormalState(); return(recordedOutput); }
public RecordedOutput Record(Action action) { _state = new RecordingState(); action(); var recordedOutput = new RecordedOutput(_state.RecordedContentType, _state.RecordedContent); _state = new NormalState(); return recordedOutput; }
public virtual IRecordedOutput Record(Action action) { var output = new RecordedOutput(_fileSystem); _outputStates.Push(output); try { action(); } finally { _outputStates.Pop(); } return(output); }
public virtual IRecordedOutput Record(Action action) { var output = new RecordedOutput(_fileSystem); _state = output; try { action(); } finally { revertToNormalWriting(); } return(output); }
public virtual IRecordedOutput Record(Action action) { _logger.DebugMessage(() => new StartedRecordingOutput()); var output = new RecordedOutput(_fileSystem); _outputStates.Push(output); try { action(); } finally { _outputStates.Pop(); _logger.DebugMessage(() => new FinishedRecordingOutput(output)); } return(output); }
public virtual async Task <IRecordedOutput> Record(Func <Task> inner) { _logger.DebugMessage(() => new StartedRecordingOutput()); var output = new RecordedOutput(_fileSystem); _outputStates.Push(output); try { await inner().ConfigureAwait(false); } finally { _outputStates.Pop(); _logger.DebugMessage(() => new FinishedRecordingOutput(output)); } return(output); }