public WaitWithPromptAction(IDelayService delayService, ISpeechService speechService, TimeSpan duration, string promptSpeechText) { Ensure.ArgumentNotNull(delayService, nameof(delayService)); Ensure.ArgumentNotNull(speechService, nameof(speechService)); Ensure.ArgumentNotNull(promptSpeechText, nameof(promptSpeechText)); Ensure.ArgumentCondition(duration >= TimeSpan.Zero, "duration must be greater than or equal to zero.", nameof(duration)); this.innerAction = new SequenceAction(GetInnerActions(delayService, speechService, duration, promptSpeechText)); }
public MetronomeAction(IAudioService audioService, IDelayService delayService, ILoggerService loggerService, IEnumerable<MetronomeTick> ticks) { audioService.AssertNotNull(nameof(audioService)); delayService.AssertNotNull(nameof(delayService)); loggerService.AssertNotNull(nameof(loggerService)); ticks.AssertNotNull(nameof(ticks)); this.ticks = ticks.ToImmutableList(); this.innerAction = new SequenceAction(GetInnerActions(audioService, delayService, loggerService, this.ticks)); }
public WaitWithPromptAction(IDelayService delayService, ISpeechService speechService, TimeSpan duration, string promptSpeechText) { delayService.AssertNotNull(nameof(delayService)); speechService.AssertNotNull(nameof(speechService)); promptSpeechText.AssertNotNull(nameof(promptSpeechText)); if (duration < TimeSpan.Zero) { throw new ArgumentException("duration must be greater than or equal to zero.", "duration"); } this.innerAction = new SequenceAction(GetInnerActions(delayService, speechService, duration, promptSpeechText)); }