125 lines
3.3 KiB
Java
125 lines
3.3 KiB
Java
|
|
package com.baeldung.assertions;
|
|||
|
|
|
|||
|
|
import java.util.ArrayList;
|
|||
|
|
import java.util.Collection;
|
|||
|
|
import java.util.HashMap;
|
|||
|
|
import java.util.List;
|
|||
|
|
import java.util.Map;
|
|||
|
|
|
|||
|
|
import org.springframework.util.Assert;
|
|||
|
|
|
|||
|
|
public class Car {
|
|||
|
|
private String state = "stop";
|
|||
|
|
|
|||
|
|
public void drive(int speed) {
|
|||
|
|
Assert.isTrue(speed > 0, "speed must be positive");
|
|||
|
|
this.state = "drive";
|
|||
|
|
// ...
|
|||
|
|
if (!(speed > 0)) {
|
|||
|
|
throw new IllegalArgumentException("speed must be >0");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void stop() {
|
|||
|
|
this.state = "stop";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void fuel() {
|
|||
|
|
Assert.state(this.state.equals("stop"), "car must be stopped");
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void fuelwithSupplier() {
|
|||
|
|
Assert.state(this.state.equals("stop"), () -> "car must be stopped");
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void сhangeOil(String oil) {
|
|||
|
|
Assert.notNull(oil, "oil mustn't be null");
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void replaceBattery(CarBattery carBattery) {
|
|||
|
|
Assert.isNull(carBattery.getCharge(), "to replace battery the charge must be null");
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void сhangeEngine(Engine engine) {
|
|||
|
|
Assert.isInstanceOf(ToyotaEngine.class, engine);
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void repairEngine(Engine engine) {
|
|||
|
|
Assert.isAssignable(Engine.class, ToyotaEngine.class);
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void startWithHasLength(String key) {
|
|||
|
|
Assert.hasLength(key, "key must not be null and must not the empty");
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void startWithHasText(String key) {
|
|||
|
|
Assert.hasText(key, "key must not be null and must contain at least one non-whitespace character");
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void startWithNotContain(String key) {
|
|||
|
|
Assert.doesNotContain(key, "123", "key must not contain 123");
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void repair(Collection<String> repairParts) {
|
|||
|
|
Assert.notEmpty(repairParts, "collection of repairParts mustn't be empty");
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void repair(Map<String, String> repairParts) {
|
|||
|
|
Assert.notEmpty(repairParts, "map of repairParts mustn't be empty");
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void repair(String[] repairParts) {
|
|||
|
|
Assert.notEmpty(repairParts, "array of repairParts must not be empty");
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void repairWithNoNull(String[] repairParts) {
|
|||
|
|
Assert.noNullElements(repairParts, "array of repairParts must not contain null elements");
|
|||
|
|
// ...
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static void main(String[] args) {
|
|||
|
|
Car car = new Car();
|
|||
|
|
|
|||
|
|
car.drive(50);
|
|||
|
|
|
|||
|
|
car.stop();
|
|||
|
|
|
|||
|
|
car.fuel();
|
|||
|
|
|
|||
|
|
car.сhangeOil("oil");
|
|||
|
|
|
|||
|
|
CarBattery carBattery = new CarBattery();
|
|||
|
|
car.replaceBattery(carBattery);
|
|||
|
|
|
|||
|
|
car.сhangeEngine(new ToyotaEngine());
|
|||
|
|
|
|||
|
|
car.startWithHasLength(" ");
|
|||
|
|
car.startWithHasText("t");
|
|||
|
|
car.startWithNotContain("132");
|
|||
|
|
|
|||
|
|
List<String> repairPartsCollection = new ArrayList<String>();
|
|||
|
|
repairPartsCollection.add("part");
|
|||
|
|
car.repair(repairPartsCollection);
|
|||
|
|
|
|||
|
|
Map<String, String> repairPartsMap = new HashMap<String, String>();
|
|||
|
|
repairPartsMap.put("1", "part");
|
|||
|
|
car.repair(repairPartsMap);
|
|||
|
|
|
|||
|
|
String[] repairPartsArray = { "part" };
|
|||
|
|
car.repair(repairPartsArray);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|