Exemplo n.º 1
0
        public async Task Handle(MotionStopped motionStopped, CancellationToken cancellationToken)
        {
            _logger.LogDebug($"Received {motionStopped} event.");

            if (!Started)
            {
                return;
            }

            var command = new StopPlayingSoundEffect();
            await _mediator.Send(command);
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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));
        }