public async Task move_should_stop_at_the_edge_of_the_garden(char orientation, int expectedY, int expectedX) { IPosition setting = new DevicePosition(5, 5, orientation) as IPosition; _initialSettingsMock.Setup(x => x.DevicePosition).Returns(setting); _buffer = new DeviceBuffer(); _device = new SLMMDevice(_initialSettingsMock.Object, _buffer, _actuator); var position = _device.CurrentPosition(); _device.Move(); _device.Move(); _device.Move(); _device.Move(); _device.Move(); _device.Move(); _device.Move(); _device.Move(); _device.Move(); IPosition newPosition = await _device.Move(); Assert.AreEqual(expectedY, newPosition.YAxis); Assert.AreEqual(expectedX, newPosition.XAxis); Assert.AreEqual(orientation, newPosition.Orientation); }
public void present_initial_position_from_configuration_settings() { // arrange _device = new SLMMDevice(_initialSettingsMock.Object, _buffer, _actuator); // act var position = _device.CurrentPosition(); // assert Assert.AreEqual(DEVICE_POSITION_X, position.XAxis); Assert.AreEqual(DEVICE_POSITION_Y, position.YAxis); Assert.AreEqual(DEVICE_ORIENTATION, position.Orientation); }
public async Task move_one_step_forward(char orientation, int expectedY, int expectedX) { // garden: 0 x 0 -> 10 x 10 // starts at: 'N', y:5, x:5 // expects: 'N', y + 1 = 6, x IPosition setting = new DevicePosition(5, 5, orientation) as IPosition; _initialSettingsMock.Setup(x => x.DevicePosition).Returns(setting); _buffer = new DeviceBuffer(); _device = new SLMMDevice(_initialSettingsMock.Object, _buffer, _actuator); var position = _device.CurrentPosition(); IPosition newPosition = await _device.Move(); Assert.AreEqual(expectedY, newPosition.YAxis); Assert.AreEqual(expectedX, newPosition.XAxis); Assert.AreEqual(orientation, newPosition.Orientation); }
public async Task be_able_turn_anti_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.TurnCounterClockwise(); } // assert Assert.AreEqual(expected, position.Orientation); }