import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.util.ArrayList; import static org.junit.jupiter.api.Assertions.*; public class CampaignTest { private Campaign campaign; @BeforeEach void setUp() { int numberOfBusses = 50; campaign = new Campaign(District.ALAZIZIYA, numberOfBusses); } @Test void VehicleSettersGettersWorkCorrcectly() { ArrayList oldVehicles = campaign.getVehicles(); assertSame(oldVehicles, campaign.getVehicles()); ArrayList newVehicles = new ArrayList<>(); for (int i = 0; i < 150; i++) { newVehicles.add(new Bus()); } campaign.setVehicles(newVehicles); assertNotSame(oldVehicles, newVehicles); assertSame(campaign.getVehicles(), newVehicles); } @Test void ConstructorWithNumberOfBusses() { campaign = new Campaign(District.ALAZIZIYA, 60); assertNotNull(campaign.getVehicles()); ArrayList list = new ArrayList<>(); list.add(new Bus()); list.add(new Bus()); campaign = new Campaign(District.ALAZIZIYA, list); assertNotNull(campaign.getVehicles()); assertEquals(campaign.getVehicles().size(), 2); } @Test void setRouteSetsSameForAllVehicles() { Route r = new Route(new Street[]{new Street(200, 3, StreetNames.FOURTH_HIGHWAY1), new Street(500,2,StreetNames.FOURTH_HIGHWAY3)},District.ALMANSOOR, Mashier.ARAFAT); campaign.setRoute(r); assertSame(campaign.getVehicles().get(5).getRoute(), r); assertSame(campaign.getVehicles().get(0).getRoute(), r); assertSame(campaign.getVehicles().get(22).getRoute(), r); } }