RED: test executing command sequences

This commit is contained in:
fiatcode 2026-02-24 10:48:04 +07:00
parent c6235bd38a
commit 9cc1ae42b0

View file

@ -92,5 +92,41 @@ void main() {
expect(rover.y, equals(0)); expect(rover.y, equals(0));
}); });
}); });
group('Executing Command Sequences:', () {
test('single command L', () {
final rover = Rover(x: 0, y: 0, direction: 'N');
rover.execute('L');
expect(rover.direction, equals('W'));
});
test('single command R', () {
final rover = Rover(x: 0, y: 0, direction: 'N');
rover.execute('R');
expect(rover.direction, equals('E'));
});
test('single command M', () {
final rover = Rover(x: 0, y: 0, direction: 'N');
rover.execute('M');
expect(rover.y, equals(1));
});
test('complex sequence MMRMMLM', () {
final rover = Rover(x: 0, y: 0, direction: 'N');
rover.execute('MMRMMLM');
expect(rover.x, equals(2));
expect(rover.y, equals(3));
expect(rover.direction, equals('N'));
});
test('example from Mars Rover kata', () {
final rover = Rover(x: 1, y: 2, direction: 'N');
rover.execute('LMLMLMLMM');
expect(rover.x, equals(1));
expect(rover.y, equals(3));
expect(rover.direction, equals('N'));
});
});
}); });
} }