Model a Bicycle
Completed BicycleTest class
Use this to check your work.
package bicyclemodel;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class BicycleTest {
@Test
void startsAtRest() {
Bicycle bike = new Bicycle();
assertEquals(0, bike.getSpeed());
assertEquals(0, bike.getDirection());
}
@Test
void accelerate() {
Bicycle bike = new Bicycle();
bike.pedalHarder();
assertEquals(1.8, bike.getSpeed(), 0.00001);
bike.pedalHarder();
assertEquals(3.42, bike.getSpeed(), 0.00001);
}
@Test
void decelerate() {
Bicycle bike = new Bicycle();
bike.pedalHarder();
bike.pedalHarder();
bike.brake();
assertEquals(0.378, bike.getSpeed(), 0.00001);
bike.brake();
assertEquals(0, bike.getSpeed(), 0.00001);
bike.brake();
assertEquals(0, bike.getSpeed(), 0.00001);
}
@Test
void changeDirection() {
Bicycle bike = new Bicycle();
bike.setDirection(70);
assertEquals(70, bike.getDirection());
bike.setDirection(1000000);
assertEquals(90, bike.getDirection());
bike.setDirection(-1000000);
assertEquals(-90, bike.getDirection());
}
@Test
void customBicycle() {
Bicycle bike = new Bicycle(0.5, 6, 2);
bike.pedalHarder();
assertEquals(3, bike.getSpeed());
bike.brake();
assertEquals(0.5, bike.getSpeed());
}
}