60 lines
1.5 KiB
Java
60 lines
1.5 KiB
Java
import org.junit.jupiter.api.BeforeEach;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
class StreetTest {
|
|
|
|
private Street street;
|
|
private double length = 100;
|
|
|
|
//length of street x number of lanes;
|
|
private double totalLength = 300;
|
|
|
|
private int lanes = 3;
|
|
|
|
@BeforeEach
|
|
void setUp() {
|
|
street = new Street(length, lanes,StreetNames.FOURTH_HIGHWAY1);
|
|
}
|
|
|
|
@Test
|
|
void correctLengthIsSet() {
|
|
assertEquals(street.getLength(), length);
|
|
}
|
|
|
|
@Test
|
|
void correctCombinedLengthCalculation() {
|
|
double tLength = street.getCombinedLength();
|
|
assertEquals(length*lanes, tLength);
|
|
}
|
|
|
|
@Test
|
|
void addVehicleToNewStreet() {
|
|
Vehicle sedan = new Sedan(3);
|
|
street.addVehicle(sedan);
|
|
assertEquals(street.getVehicles().get(0), sedan);
|
|
}
|
|
|
|
@Test
|
|
void cantAddVehiclesOverCapacity() {
|
|
Vehicle v = new Sedan(3);
|
|
while (street.canTakeVehicles(v)){
|
|
street.addVehicle(new Sedan(3));
|
|
}
|
|
boolean canTakeCars = street.canTakeVehicles(new Sedan(3));
|
|
int cars = street.getVehicles().size();
|
|
assertFalse(canTakeCars);
|
|
}
|
|
|
|
@Test
|
|
void capacityPointReasonable() {
|
|
Vehicle v = new Bus();
|
|
street.addVehicle(v);
|
|
v.setCurrentStreet(street);
|
|
v.move(200);
|
|
//1 is full or crowded
|
|
assertTrue(street.capcityPoint(0, v.getCurrentLocation()) < 0.8);
|
|
assertTrue(street.capcityPoint(0, v.getCurrentLocation()) < 0.4);
|
|
}
|
|
} |