2. Story #1: Boundary
As a Rover Operator,
I want to be able to put the rover in
defined boundary of a plateau
So that I can numb its response to my
commands when the terrain ahead is
unforgiving, for example - falling off
and losing the rover.
3. Acceptance Criteria
#1
Given the rover at initial position 3 3 E on a 4 x 4
plateau (assume flat rectangular plateau with origin
coinciding with 0, 0 at bottom-left corner)
When I send commands MMRMMR to the rover
Then it the final position should be 4 1 W responding
only to valid commands.
4. Acceptance Criteria
#2
Given the rover at initial position 3 3 E on a 3 x 4
(rows x cols) plateau
When I send commands MMRMMRMRRM to the rover
Then the final position should be 4 1 E responding only
to valid commands.
5. Story #2: Trace
As a Rover Operator,
I want to be able to trace rover positions
after sending commands from earth
So that I can check its actual positions
against each command that got executed
by the rover.
6. Acceptance Criteria
#1
Given the commands MMRMMR sent to the rover at its initial
position 3 3 E on a 5 x 5 plateau
When I trace all the 6 commands
Then I should see the rover respond with the following:
(3 3 E) M (4 3 E) M (5 3 E) R (5 3 S) M (5 2 S) M (5 1 S) R (5 1 W)
7. Acceptance Criteria
#2
Given the commands MMRMMR sent to the rover at its
initial position 3 3 E on a 5 x 5 plateau
When I trace 3 commands
Then I should see the rover respond with the following:
(3 3 E) M (4 3 E) M (5 3 E) R (5 3 S)
8. Acceptance Criteria
#3
Given the commands MMRMMR sent to the rover at its initial
position 3 3 E on a 5 x 5 plateau
When I trace beyond the commands issued, say I trace 10
commands
Then I should see the rover respond with the following:
(3 3 E) M (4 3 E) M (5 3 E) R (5 3 S) M (5 2 S) M (5 1 S) R (5 1 W)
9. Acceptance Criteria
#4
Given the commands MMRMMR sent to the rover at its initial
position 3 3 E on a 4 x 4 plateau with auto-sensing on
When I trace 3 commands
Then I should see the rover respond with the following:
(3 3 E) M (4 3 E) R (4 3 S) M (4 2 S)
10. Story #3: Backtracking
As a Rover Operator,
I want to be able to tell the rover to
backtrack itself by the number of steps
So that I can retract it safely without
manual maneuvering to exactly the
same position that it was before the
commands were executed*.
*unexecuted commands should be ignored.
11. Acceptance Criteria
#1
Given the commands MMRMMRMRRM sent to the rover at its initial
position 3 3 E on a 5 x 5 plateau
When I tell the rover to backtrack last 4 executed commands
Then I should see the rover backtracked to 5 1 W
12. Acceptance Criteria
#2
Given the commands MMRMMRMRRM sent to the rover at its initial
position 3 3 E on a 5 x 5 plateau
When I tell the rover to backtrack last 15 executed commands
Then I should see the rover backtracked to 3 3 E
13. Acceptance Criteria
#3
Given the commands MMRMMRMRRM sent to the rover at its initial
position 3 3 E on a 4 x 4 plateau in auto-sensing mode
When I tell the rover to backtrack last 5 executed commands
Then I should see the rover backtracked to 4 1 S ignoring
unexecuted commands.
14. Overall Acceptance
Criteria
We have tried to be as explicit as possible, but
may have missed few acceptance criteria.
Please make sure all the features like auto-
sensing, trace and back-tracking work in
harmony with each other.