public void When_Ctor_IsCalledWithProperParameters_Then_NoExceptionIsThrown(IWrapGPIO gpioWrapperStub,
                                                                                    IWrapTiming timingWrapperStub)
        {
            //a

            //aa, aaa
            new SonicSensorDriver(gpioWrapperStub, timingWrapperStub);
        }
Exemplo n.º 2
0
        private static void DoSonicMeasuring(IWrapGPIO gpioWrapper, IWrapTiming timingWrapper, int delay)
        {
            var sonicSensorDriver = new SonicSensorDriver(gpioWrapper, timingWrapper);

            sonicSensorDriver.Configure();

            do
            {
                sonicSensorDriver.GetDistance();
                Thread.Sleep(delay);
            }while (true);
        }
        public void When_GetDistanceIsCalled_Then_DelaysAreCalled(IWrapGPIO gpioStub,
                                                                  IWrapTiming timingSpy,
                                                                  SonicSensorDriver sut)
        {
            //a
            var echoPin         = sut.EchoPin;
            var measuringThread = new Thread(() => sut.GetDistance());

            //aa
            measuringThread.Start();

            gpioStub.DigitalRead(echoPin).Returns(GPIO.GPIOpinvalue.High);
            Thread.Sleep(1);
            gpioStub.DigitalRead(echoPin).Returns(GPIO.GPIOpinvalue.Low);


            //aaa
            timingSpy.Received(1).DelayMicroseconds(5);
            timingSpy.Received(1).DelayMicroseconds(10);
        }
        public void When_Ctor_IsCalledWithWrongPinType_Then_ValidationExceptionIsThrown(IWrapGPIO gpioWrapperDummy,
                                                                                        IWrapTiming timingWrapperDummy,
                                                                                        IPin triggerPinDummy,
                                                                                        DOPin echoPinStub)
        {
            //a
            Action action = () => new SonicSensorDriver(echoPinStub, triggerPinDummy, gpioWrapperDummy, timingWrapperDummy);

            //aa

            //aaa
            Assert.Throws <PinStateValidationException>(action);
        }