diff --git a/spring-5/src/main/java/com/baeldung/assertions/Car.java b/spring-5/src/main/java/com/baeldung/assertions/Car.java new file mode 100644 index 0000000000..4e210dfaab --- /dev/null +++ b/spring-5/src/main/java/com/baeldung/assertions/Car.java @@ -0,0 +1,122 @@ +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 сhangeOilWithIsNull(String oil) { + Assert.isNull(oil, "oil 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 repairParts) { + Assert.notEmpty(repairParts, "collection of repairParts mustn't be empty"); + // ... + } + + public void repair(Map 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"); + car.сhangeOilWithIsNull(null); + + car.сhangeEngine(new ToyotaEngine()); + + car.startWithHasLength(" "); + car.startWithHasText("t"); + car.startWithNotContain("132"); + + List repairPartsCollection = new ArrayList(); + repairPartsCollection.add("part"); + car.repair(repairPartsCollection); + + Map repairPartsMap = new HashMap(); + repairPartsMap.put("1", "part"); + car.repair(repairPartsMap); + + String[] repairPartsArray = { "part" }; + car.repair(repairPartsArray); + + } +} diff --git a/spring-5/src/main/java/com/baeldung/assertions/Engine.java b/spring-5/src/main/java/com/baeldung/assertions/Engine.java new file mode 100644 index 0000000000..40cc161ee4 --- /dev/null +++ b/spring-5/src/main/java/com/baeldung/assertions/Engine.java @@ -0,0 +1,4 @@ +package com.baeldung.assertions; + +public class Engine { +} diff --git a/spring-5/src/main/java/com/baeldung/assertions/ToyotaEngine.java b/spring-5/src/main/java/com/baeldung/assertions/ToyotaEngine.java new file mode 100644 index 0000000000..21af8df55f --- /dev/null +++ b/spring-5/src/main/java/com/baeldung/assertions/ToyotaEngine.java @@ -0,0 +1,5 @@ +package com.baeldung.assertions; + +public class ToyotaEngine extends Engine { + +}