From 9dc7dd22e4e7676328d75b32b5d8adb6dcf2c566 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Hallvard=20Tr=C3=A6tteberg?= <hal@ntnu.no>
Date: Thu, 29 Oct 2020 11:02:15 +0000
Subject: [PATCH] parameterisert test

---
 antipatterns/pom.xml                            | 12 +++++++++---
 .../DataClassWithValidationTest.java            | 17 +++++++++++++++++
 2 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/antipatterns/pom.xml b/antipatterns/pom.xml
index 867a373..8f6cce3 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 bbad447..c1ad6c9 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));
+  }
 }
-- 
GitLab