package lejos.test;
import junit.framework.TestCase;
import lejos.navigation.Pilot;
import lejos.nxt.Motor;
import lejos.stub.MotorStub;
public class TestPilot extends TestCase {
Pilot p;
@Override
protected void setUp() throws Exception {
p=new Pilot(5f,10f,Motor.A,Motor.C);
}
@Override
protected void tearDown() throws Exception {
MotorStub.off();
}
public void testTravel(){
p.setSpeed(100);
p.travel(10);
p.stop();
assertEquals(10,p.getTravelDistance(),1);
assertEquals(0,p.getAngle(),1);
}
public void testRotateTravel(){
p.setSpeed(100);
p.rotate(90);
p.travel(10);
p.stop();
assertEquals(10,p.getTravelDistance(),1);
assertEquals(90,p.getAngle(),1);
}
public void testTravel2(){
p.setSpeed(200);
p.travel(20);
p.stop();
assertEquals(20,p.getTravelDistance(),1);
}
public void testTravelNegative(){
p.setSpeed(200);
p.travel(-20);
p.stop();
assertEquals(-20,p.getTravelDistance(),1);
}
public void testRotate45(){
p.setSpeed(100);
p.rotate(45);
p.stop();
assertEquals(0,p.getTravelDistance(),1);
assertEquals(45,p.getAngle(),1);
}
public void testRotate60(){
p.setSpeed(100);
p.resetTachoCount();
p.rotate(-10);
p.stop();
assertEquals(0,p.getTravelDistance(),1);
assertEquals(-10,p.getAngle(),1);
}
public void testRotate360(){
p.setSpeed(200);
p.rotate(360);
p.stop();
assertEquals(0,p.getTravelDistance(),1);
assertEquals(360,p.getAngle(),1);
}
}