package kareltherobot; public class StairClimberTest extends KJRTest implements Directions { public StairClimberTest(String name) { super(name); } private StairClimber karel; public void setUp() { World.reset(); World.readWorld("stairworld.kwld"); karel = new StairClimber(1, 1, East, 0); } public void testRightTurn() { assertFacingEast(karel); assertRunning(karel); karel.turnRight(); assertFacingSouth(karel); assertRunning(karel); karel.turnRight(); assertFacingWest(karel); assertRunning(karel); karel.turnRight(); assertFacingNorth(karel); assertRunning(karel); karel.turnRight(); assertFacingEast(karel); assertRunning(karel); } public void testClimbOneStair() { assertFacingEast(karel); assertRunning(karel); assertFrontIsBlocked(karel); assertAt(karel, 1, 1); karel.climbOneStair(); assertFacingEast(karel); assertRunning(karel); assertAt(karel, 2, 2); } public void testClimbStairs() { assertFacingEast(karel); assertRunning(karel); assertFrontIsBlocked(karel); karel.climbStairs(); assertNextToABeeper(karel); assertRunning(karel); } public void testGetBeeper() { assertFacingEast(karel); assertRunning(karel); assertFrontIsBlocked(karel); assertNoBeepersInBeeperBag(karel); karel.getBeeper(); assertNotRunning(karel); assertBeepersInBeeperBag(karel); assertNotNextToABeeper(karel); } public static void main(String[] args) { junit.swingui.TestRunner.run(StairClimberTest.class); } }