RED: test executing command sequences
This commit is contained in:
parent
c6235bd38a
commit
9cc1ae42b0
1 changed files with 36 additions and 0 deletions
|
|
@ -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'));
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue