public void When_GetDistanceIsCalled_Then_DistanceIsReturned(IWrapGPIO gpioStub, SonicSensorDriver sut) { //a var echoPin = sut.EchoPin; double readedDistance = 0; double milisToSleep = 3; var measuringThread = new Thread(() => { //Thread.Sleep(1000); //gpioStub.DigitalRead(echoPin).Returns(GPIO.GPIOpinvalue.Low); //Thread.Sleep(1000); gpioStub.DigitalRead(echoPin).Returns(GPIO.GPIOpinvalue.High); Thread.Sleep((int)milisToSleep); gpioStub.DigitalRead(echoPin).Returns(GPIO.GPIOpinvalue.Low); }); //aa measuringThread.Start(); readedDistance = sut.GetDistance(); //aaa //var measuredTime = sut.elapsedTime.TotalMilliseconds; Assert.Equal(milisToSleep, measuredTime); }
public void When_Configure_Then_TriggerPin_IsSetToLow(IWrapGPIO gpioSpy, SonicSensorDriver sut) { //a var triggerPin = sut.TriggerPin; //aa sut.Configure(); //aaa gpioSpy.Received(1).DigitalWrite(triggerPin, GPIO.GPIOpinvalue.Low); }
public void When_Configure_Then_PinModesAreReSetted(IWrapGPIO gpioSpy, SonicSensorDriver sut) { //a //aa sut.Configure(); //aaa gpioSpy.Received(1).PinMode(sut.EchoPin); gpioSpy.Received(1).PinMode(sut.TriggerPin); }
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); }
private static void DoSonicMeasuring() { var gpioWrapper = new GPIOWrapper(); var timingWrapper = new TimingWrapper(); var sonicSensorDriver = new SonicSensorDriver(gpioWrapper, timingWrapper); sonicSensorDriver.Configure(); do { sonicSensorDriver.GetDistance(); Thread.Sleep(500); }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); }