public async Task Handle(MotionStopped motionStopped, CancellationToken cancellationToken) { _logger.LogDebug($"Received {motionStopped} event."); if (!Started) { return; } var command = new StopPlayingSoundEffect(); await _mediator.Send(command); }
public async Task Handle_MotionStopped_requests_a_played_sound_effect_being_stopped() { // Arrange await _sut.Handle(new StartMotionDetection(), _defaultCancellationToken); var motionStopped = new MotionStopped(); // Act await _sut.Handle(motionStopped, _defaultCancellationToken); // Assert A.CallTo(() => _mediator.Send(A <StopPlayingSoundEffect> ._, A <CancellationToken> ._)) .MustHaveHappenedOnceExactly(); }
private void Sensor_Hcsr501ValueChanged(object sender, Hcsr501ValueChangedEventArgs e) { BaseEvent @event; if (e.PinValue == PinValue.High) { @event = new MotionDetected(); } else { @event = new MotionStopped(); } Task.Run(async() => await _mediator.Publish(@event)); }