package car; import car.exception.CarIsUnavailableException; import car.exception.NoNeedToRepairCarException; import car.exception.UnableToRentCarException; import org.junit.Assert; import org.junit.Test; public class CarTest { @Test(expected = CarIsUnavailableException.class) public void sellThrowsCarIsUnavailableExceptionIfCarIsUnavailable() throws CarIsUnavailableException { Car car = new Car(1, 1000, 100, 100); car.sell(); car.sell(); } @Test(expected = NoNeedToRepairCarException.class) public void repairThrowsNoNeedToRepairCarExceptionIfCarIsNowDamaged() throws NoNeedToRepairCarException { Car car = new Car(1, 1000, 100, 100); car.repair(); } @Test(expected = IllegalArgumentException.class) public void rentThrowsIllegalArgumentExceptionWithNegativeMonthsArgument() throws UnableToRentCarException { Car car = new Car(1, 1000, 100, 100); car.rent(-10); } @Test(expected = UnableToRentCarException.class) public void rentThrowsUnableToRentCarExceptionIfAlreadyRented() throws UnableToRentCarException { Car car = new Car(1, 1000, 100, 100); try { car.rent(10); } catch (UnableToRentCarException e) { Assert.fail(); } car.rent(10); } }