Ejemplo n.º 1
0
        public async Task be_able_turn_90_degrees_clockwise(char currentOrientation, char expectedOrientation)
        {
            // arrange

            IPosition setting = new DevicePosition(5, 5, currentOrientation) as IPosition;

            _initialSettingsMock.Setup(x => x.DevicePosition).Returns(setting);
            _buffer = new DeviceBuffer();
            _device = new SLMMDevice(_initialSettingsMock.Object, _buffer, _actuator);

            // act
            var position = await _device.TurnClockwise();

            // assert
            Assert.AreEqual(expectedOrientation, position.Orientation);
        }
Ejemplo n.º 2
0
        public async Task turns_clockwise_in_around_2_seconds()
        {
            var actuator = new TestsActuator(true);

            _device = new SLMMDevice(_initialSettingsMock.Object, _buffer, actuator);

            // act
            var watch    = System.Diagnostics.Stopwatch.StartNew();
            var position = await _device.TurnClockwise();

            watch.Stop();
            var elapsedMs = watch.ElapsedMilliseconds;

            // assert
            Assert.GreaterOrEqual(elapsedMs, 2000);
            Assert.LessOrEqual(elapsedMs, 3000);
        }
Ejemplo n.º 3
0
        public async Task be_able_turn_clockwise_in_sequence(char start, int numberTurns, char expected)
        {
            // arrange
            IPosition setting = new DevicePosition(5, 5, start) as IPosition;

            _initialSettingsMock.Setup(x => x.DevicePosition).Returns(setting);
            _buffer = new DeviceBuffer();
            _device = new SLMMDevice(_initialSettingsMock.Object, _buffer, _actuator);

            IPosition position = _device.CurrentPosition();

            // act
            for (int i = 0; i < numberTurns; i++)
            {
                position = await _device.TurnClockwise();
            }

            // assert
            Assert.AreEqual(expected, position.Orientation);
        }