public void Off_should_digitalwrite_low() { A.CallTo(() => _arduino.DigitalWrite(Pin, DigitalPin.Low)).DoesNothing(); var ledState = LedState.On; _led.OnStateChanged = state => { ledState = state; }; _led.Off(); _led.State.ShouldEqual(LedState.Off); A.CallTo(() => _arduino.DigitalWrite(Pin, DigitalPin.Low)).MustHaveHappened(Repeated.Exactly.Twice); ledState.ShouldEqual(LedState.Off); }