diff --git a/antipatterns/pom.xml b/antipatterns/pom.xml index 867a3739225ec34f9c13c5f4aacca64a48714d2b..8f6cce3fa09e65b7414167d1d3a7ae95dbdeec34 100644 --- a/antipatterns/pom.xml +++ b/antipatterns/pom.xml @@ -10,15 +10,21 @@ <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> - <version>5.4.2</version> + <version>5.7.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> - <version>5.4.2</version> + <version>5.7.0</version> <scope>test</scope> - </dependency> + </dependency> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-params</artifactId> + <version>5.7.0</version> + <scope>test</scope> + </dependency> </dependencies> <build> diff --git a/antipatterns/src/test/java/antipatterns/DataClassWithValidationTest.java b/antipatterns/src/test/java/antipatterns/DataClassWithValidationTest.java index bbad447fedc13ab0fe5f57a08a06b9ac1513d24c..c1ad6c980a08104a8c10558333fd073f735b748c 100644 --- a/antipatterns/src/test/java/antipatterns/DataClassWithValidationTest.java +++ b/antipatterns/src/test/java/antipatterns/DataClassWithValidationTest.java @@ -1,10 +1,20 @@ package antipatterns; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; public class DataClassWithValidationTest { + private DataClassWithValidation instance1; + + @BeforeEach + public void setup() { + instance1 = new DataClassWithValidation(); + } + @Test public void testConstructor() { try { @@ -32,4 +42,11 @@ public class DataClassWithValidationTest { public void testBetterConstructor_validName() { new DataClassWithValidation("ok name"); } + + + @ParameterizedTest + @ValueSource(strings = {" starts with blank"}) + public void testBetterSetName_invalidName(String name) { + Assertions.assertThrows(IllegalArgumentException.class, () -> instance1.setName(name)); + } }