From 214f22f9ed337623cd453e9c68995b79f05865ca Mon Sep 17 00:00:00 2001
From: Martin Goik <goik@hdm-stuttgart.de>
Date: Sun, 2 Sep 2018 12:12:09 +0200
Subject: [PATCH] Integrating Hamcrest

---
 Klausuren/Sd1/2017Summer/Exam/pom.xml         |  15 +-
 .../mi/sd1/aufgabe2/Ersatzteil.java           |   6 +-
 .../mi/sd1/test/aufgabe2/Test_Ersatzteil.java | 145 ++++++++++--------
 Klausuren/Sd1/2017Summer/Solve/pom.xml        |  18 ++-
 .../mi/sd1/aufgabe2/Ersatzteil.java           |   4 +-
 .../hdm_stuttgart/mi/sd1/aufgabe2/Reifen.java |   4 +-
 .../mi/sd1/test/aufgabe2/Test_Ersatzteil.java |  69 +++++----
 7 files changed, 157 insertions(+), 104 deletions(-)

diff --git a/Klausuren/Sd1/2017Summer/Exam/pom.xml b/Klausuren/Sd1/2017Summer/Exam/pom.xml
index 141cc934f..55abe4d05 100644
--- a/Klausuren/Sd1/2017Summer/Exam/pom.xml
+++ b/Klausuren/Sd1/2017Summer/Exam/pom.xml
@@ -31,6 +31,13 @@
 			<scope>test</scope>
 		</dependency>
 
+                <dependency>
+                        <groupId>org.hamcrest</groupId>
+                        <artifactId>hamcrest-library</artifactId>
+                        <version>1.3</version>
+                        <scope>test</scope>
+                </dependency>
+
 		<dependency>
 			<groupId>org.apache.logging.log4j</groupId>
 			<artifactId>log4j-core</artifactId>
@@ -61,8 +68,12 @@
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-javadoc-plugin</artifactId>
-				<version>2.10.3</version>
-				<configuration />
+				<version>3.0.1</version>
+				<configuration >
+					<additionalJOptions>
+						<additionalJOption>-html5</additionalJOption>
+					</additionalJOptions>
+				</configuration>
 			</plugin>
 
 			<plugin>
diff --git a/Klausuren/Sd1/2017Summer/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Ersatzteil.java b/Klausuren/Sd1/2017Summer/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Ersatzteil.java
index f41c117cf..918eeb4db 100644
--- a/Klausuren/Sd1/2017Summer/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Ersatzteil.java
+++ b/Klausuren/Sd1/2017Summer/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Ersatzteil.java
@@ -8,9 +8,9 @@ public class Ersatzteil {
 	
 	/**
 	 * Neues Ersatzteil mit Teilenummer und informeller Bezeichnung
-	 * 
-	 * @param teilenummer
-	 * @param bezeichnung
+	 *
+		* @param teilenummer Eindeutige Nummer des Ersatzteils
+		* @param bezeichnung Bezeichnung des Ersatzteils, z.B. »Schraube M8«
 	 */
 	public Ersatzteil(final int teilenummer, final String bezeichnung) {
 	    // TODO: Implementiere mich!
diff --git a/Klausuren/Sd1/2017Summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/aufgabe2/Test_Ersatzteil.java b/Klausuren/Sd1/2017Summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/aufgabe2/Test_Ersatzteil.java
index 1ec173280..eee9f4858 100644
--- a/Klausuren/Sd1/2017Summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/aufgabe2/Test_Ersatzteil.java
+++ b/Klausuren/Sd1/2017Summer/Exam/src/test/java/de/hdm_stuttgart/mi/sd1/test/aufgabe2/Test_Ersatzteil.java
@@ -14,6 +14,14 @@ import de.hdm_stuttgart.mi.sd1.aufgabe2.Ersatzteil;
 import de.hdm_stuttgart.mi.sd1.test.helper.ReflectClass;
 import de.hdm_stuttgart.mi.sd1.test.helper.ReflectionHelper;
 
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.not;
+import static org.hamcrest.Matchers.nullValue;
+import static org.hamcrest.Matchers.greaterThan;
+
+
+
 /**
  * Teste Ersatzteile.
  *
@@ -22,7 +30,7 @@ import de.hdm_stuttgart.mi.sd1.test.helper.ReflectionHelper;
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class Test_Ersatzteil extends ExaminationTestDefaults {
 	
-	final ReflectionHelper rHelper = new ReflectionHelper();
+	private final ReflectionHelper rHelper = new ReflectionHelper();
 
    /**
     * Korrekte toString() Redefinition.
@@ -30,7 +38,9 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
    @Test
    @Marking(points = 2)
    public void test_010_toString() {
-      Assert.assertEquals("Holzbalken, Teilenummer:123", new Ersatzteil(123, "Holzbalken").toString());
+   		Assert.assertThat(
+   				new Ersatzteil(123, "Holzbalken").toString(),
+					is(equalTo("Holzbalken, Teilenummer:123")));
    }
    /**
     * Korrekte toString() Redefinition.
@@ -38,7 +48,9 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
    @Test
    @Marking(points = 1)
    public void test_015_toString() {
-      Assert.assertEquals("Bezeichnung unbekannt, Teilenummer:123", new Ersatzteil(123, null).toString());
+   		Assert.assertThat(
+   				new Ersatzteil(123, null).toString(),
+					is(equalTo("Bezeichnung unbekannt, Teilenummer:123")));
    }
 	/**
 	 * Objektgleichheit positiv, gleiche Bezeichnung
@@ -46,11 +58,15 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 	@Test
 	@Marking(points = 2)
 	public void test_020_equal() {
-      Assert.assertEquals("Keine (geeignete) Ersatzteil.equals() Methode vorhanden!  ",
-            null,
-            rHelper.ersatzteil_equals.getRecursiveErrorMsg());
-		Assert.assertEquals(true, new Ersatzteil(23, "Mutter").equals(
-				new Ersatzteil(23, "Mutter")));
+
+		Assert.assertThat(
+				"Keine (geeignete) Ersatzteil.equals() Methode vorhanden!  ",
+				rHelper.ersatzteil_equals.getRecursiveErrorMsg(),
+				nullValue());
+
+		Assert.assertThat(
+				new Ersatzteil(23, "Mutter"),
+				is(equalTo(new Ersatzteil(23, "Mutter"))));
 	}
 	/**
 	 * Objektgleichheit positiv, ungleiche Bezeichnung
@@ -58,11 +74,16 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 	@Test
 	@Marking(points = 2)
 	public void test_030_equalBezeichnungAnders() {
-      Assert.assertEquals("Keine (geeignete) Ersatzteil.equals() Methode vorhanden!  ",
-            null,
-            rHelper.ersatzteil_equals.getRecursiveErrorMsg());
-		Assert.assertEquals(true, new Ersatzteil(23, "Mutter").equals(
-				new Ersatzteil(23, "Schraube")));
+
+		Assert.assertThat(
+				"Keine (geeignete) Ersatzteil.equals() Methode vorhanden!  ",
+				rHelper.ersatzteil_equals.getRecursiveErrorMsg(),
+				nullValue()
+				);
+
+		Assert.assertThat(
+				new Ersatzteil(23, "Schraube"),
+				is(equalTo(new Ersatzteil(23, "Mutter"))));
 	}
 	/**
 	 * Objektgleichheit negativ, gleiche Bezeichnung
@@ -70,24 +91,24 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 	@Test
 	@Marking(points = 1)
 	public void test_040_verschieden() {
-	   
-      Assert.assertNull(rHelper.ersatzteil_equals.getRecursiveErrorMsg());
-      Assert.assertNull(rHelper.ersatzteil_equals.assertIsDefinedIn(Ersatzteil.class));
+		Assert.assertThat(rHelper.ersatzteil_equals.getRecursiveErrorMsg(), nullValue());
+		Assert.assertThat(rHelper.ersatzteil_equals.assertIsDefinedIn(Ersatzteil.class),nullValue());
+
+		Assert.assertThat(new Ersatzteil(24, "Mutter"),
+				not(is(equalTo(new Ersatzteil(23, "Mutter")))));
 
-		Assert.assertEquals(false, new Ersatzteil(23, "Mutter").equals(
-				new Ersatzteil(24, "Mutter")));
 	}
 	/**
 	 * Objektgleichheit negativ, ungleiche Bezeichnung
 	 */
 	@Test
 	@Marking(points = 2)
-	public void test_050_verschiedenBezeichnung() {	   
-      Assert.assertNull(rHelper.ersatzteil_equals.getRecursiveErrorMsg());
-      Assert.assertNull(rHelper.ersatzteil_equals.assertIsDefinedIn(Ersatzteil.class));
+	public void test_050_verschiedenBezeichnung() {
 
-      Assert.assertEquals(false, new Ersatzteil(23, "Mutter").equals(
-				new Ersatzteil(24, "Schraube")));
+		Assert.assertThat(rHelper.ersatzteil_equals.getRecursiveErrorMsg(), nullValue());
+		Assert.assertThat(rHelper.ersatzteil_equals.assertIsDefinedIn(Ersatzteil.class), nullValue());
+		Assert.assertThat(new Ersatzteil(24, "Schraube"),
+				not(is(equalTo(new Ersatzteil(23, "Mutter")))));
 	}
 	/**
 	 * Objektgleichheit negativ, Vergleich mit null
@@ -95,10 +116,9 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 	@Test
 	@Marking(points = 2)
 	public void test_060_verschiedenNull() {
-      Assert.assertNull(rHelper.ersatzteil_equals.getRecursiveErrorMsg());
-      Assert.assertNull(rHelper.ersatzteil_equals.assertIsDefinedIn(Ersatzteil.class));
-
-      Assert.assertEquals(false, new Ersatzteil(23, "Mutter").equals(null));
+		Assert.assertThat(rHelper.ersatzteil_equals.getRecursiveErrorMsg(), nullValue());
+		Assert.assertThat(rHelper.ersatzteil_equals.assertIsDefinedIn(Ersatzteil.class), nullValue());
+		Assert.assertThat(null, not(equalTo(new Ersatzteil(23, "Mutter"))));
 	}
 	/**
 	 * Objektgleichheit negativ, Vergleich mit String
@@ -106,10 +126,10 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 	@Test
 	@Marking(points = 1)
 	public void test_070_verschiedenString() {
-      Assert.assertNull(rHelper.ersatzteil_equals.getRecursiveErrorMsg());
-      Assert.assertNull(rHelper.ersatzteil_equals.assertIsDefinedIn(Ersatzteil.class));
 
-      Assert.assertEquals(false, new Ersatzteil(23, "Mutter").equals("irgendwas"));
+		Assert.assertThat(rHelper.ersatzteil_equals.getRecursiveErrorMsg(), nullValue());
+		Assert.assertThat(rHelper.ersatzteil_equals.assertIsDefinedIn(Ersatzteil.class), nullValue());
+		Assert.assertThat("irgendwas", not(equalTo(new Ersatzteil(23, "Mutter"))));
 	}
 
    /**
@@ -118,14 +138,18 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
    @Test
    @Marking(points = 1)
    public void test_075_attrib_ersatzteil_private() {
-      
-      Assert.assertTrue("Die Klassse 'Ersatzteil' hat kein Attribut", 0 < Ersatzteil.class.getDeclaredFields().length);
-      
-      final String nonPrivateAttribs = ReflectClass.getNonPrivateAttributes(Ersatzteil.class);
-      Assert.assertEquals("Folgende Attribute in der Klasse 'Ersatzteil' sind nicht 'private':  " + nonPrivateAttribs + ".   ",
-            null,
-            nonPrivateAttribs);
-   }	
+
+     Assert.assertThat("Die Klassse 'Ersatzteil' hat kein Attribut",
+         Ersatzteil.class.getDeclaredFields().length,
+         greaterThan(0));
+
+     final String nonPrivateAttribs = ReflectClass.getNonPrivateAttributes(Ersatzteil.class);
+
+      Assert.assertThat(
+          "Folgende Attribute in der Klasse 'Ersatzteil' sind nicht 'private':  " + nonPrivateAttribs,
+          nonPrivateAttribs,
+          is(nullValue()));
+   }
 	
 	/**
 	 * Definition class Reifen {...}
@@ -133,17 +157,17 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 	@Test
 	@Marking(points = 1)
 	public void test_080_classReifen() {
-		Assert.assertEquals(null, rHelper.reifenKlasse.msg);
+	  Assert.assertThat(rHelper.reifenKlasse.msg, is(nullValue()));
 	}
 	
-	/**     modifier & method.getModifiers();
+	/** modifier and method.getModifiers();
 
 	 * Konstruktor Definition public Reifen (int, int){...}
 	 */
 	@Test
 	@Marking(points = 1)
 	public void test_200_reifenKonstruktor() {
-		Assert.assertEquals(null, rHelper.reifen_constructor_int_int.getRecursiveMsg());
+   Assert.assertThat(rHelper.reifen_constructor_int_int.getRecursiveMsg(), is(nullValue()));
 	}
 
 	/**
@@ -152,10 +176,12 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 	@Test
 	@Marking(points = 1)
 	public void test_077_equalsNichtRedefinierbar() {
-		Assert.assertNull(rHelper.ersatzteil_equals.getRecursiveErrorMsg());
-      Assert.assertNull(rHelper.ersatzteil_equals.assertIsDefinedIn(Ersatzteil.class));
-      Assert.assertNull(rHelper.ersatzteil_equals.assertModifierIsPresent(Modifier.FINAL, "Methode Ersatzteil.equals() darf nicht redefinierbar sein"));
 
+   Assert.assertThat(rHelper.ersatzteil_equals.getRecursiveErrorMsg(), is(nullValue()));
+   Assert.assertThat(rHelper.ersatzteil_equals.assertIsDefinedIn(Ersatzteil.class), is(nullValue()));
+   Assert.assertThat(
+       "Methode Ersatzteil.equals() darf nicht redefinierbar sein",
+       rHelper.ersatzteil_equals.assertModifierIsPresent(Modifier.FINAL), is(nullValue()));
 	}
 
 	/**
@@ -163,37 +189,36 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 	 */
 	@Test
 	@Marking(points = 1)
-	public void test_220_Reifen_toString() {		
-		Assert.assertEquals(null, rHelper.reifen_toString.getRecursiveErrorMsg());
-
-      Assert.assertNull(rHelper.reifen_toString.assertIsDefinedIn("de.hdm_stuttgart.mi.sd1.aufgabe2.Reifen"));
-      Assert.assertNull(rHelper.reifen_toString.assertModifierIsPresent(Modifier.PUBLIC));
-      
+	public void test_220_Reifen_toString() {
+   Assert.assertThat(rHelper.reifen_toString.getRecursiveErrorMsg(), is(nullValue()));
+   Assert.assertThat(rHelper.reifen_toString.assertIsDefinedIn("de.hdm_stuttgart.mi.sd1.aufgabe2.Reifen"), is(nullValue()));
+   Assert.assertThat(rHelper.reifen_toString.assertModifierIsPresent(Modifier.PUBLIC), is(nullValue()));
 	}
 
 	/**
-	 * Erzeugung Instanz Reifen(final int number) und pruefung toString()
+	 * Erzeugung Instanz Reifen(final int number) ,Pruefung toString()
 	 */
 	@Test
 	@Marking(points = 2)
 	public void test_400_konstruktorReifen() {
-      Assert.assertEquals(null, rHelper.reifenKlasse.msg);
-		Assert.assertEquals(null, rHelper.reifen_constructor_int_int.getRecursiveMsg());
-		
-		Object reifen = null;
+   Assert.assertThat(rHelper.reifenKlasse.msg, is(nullValue()));
+   Assert.assertThat(rHelper.reifen_constructor_int_int.getRecursiveMsg(), is(nullValue()));
+
+		Object reifen;
 		try {
-			reifen = rHelper.reifen_constructor_int_int.constructor.newInstance(new Object[] {1132, 160});
+			reifen = rHelper.reifen_constructor_int_int.constructor.newInstance(1132, 160);
 		} catch (InstantiationException | IllegalAccessException | IllegalArgumentException
 				| InvocationTargetException e) {
 			Assert.fail("Konnte 'new Reifen(1132, 160)' nicht aufrufen.");
 			return;
 		}
-		Assert.assertTrue("Objekt ist kein Ersatzteil", reifen instanceof Ersatzteil);
+		Assert.assertThat("Objekt ist kein Ersatzteil", reifen instanceof Ersatzteil, is(true));
 		try {
-			Assert.assertEquals("Reifen, Teilenummer:1132, Maximalgeschwindigkeit:160 Kmh", rHelper.reifen_toString.method.invoke(reifen, new Object[] {}));
-		} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+		  Assert.assertThat(
+		      rHelper.reifen_toString.method.invoke(reifen),
+        equalTo("Reifen, Teilenummer:1132, Maximalgeschwindigkeit:160 Kmh"));
+		} catch (final IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
 			Assert.fail("Konnte 'toString()' für 'new Reifen(1132, 160)' nicht aufrufen.");
-			return;
 		}
 	}
 }
\ No newline at end of file
diff --git a/Klausuren/Sd1/2017Summer/Solve/pom.xml b/Klausuren/Sd1/2017Summer/Solve/pom.xml
index 3267b88e9..d0ca3639f 100644
--- a/Klausuren/Sd1/2017Summer/Solve/pom.xml
+++ b/Klausuren/Sd1/2017Summer/Solve/pom.xml
@@ -31,7 +31,14 @@
 			<scope>test</scope>
 		</dependency>
 
-		<dependency>
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest-library</artifactId>
+            <version>1.3</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
 			<groupId>org.apache.logging.log4j</groupId>
 			<artifactId>log4j-core</artifactId>
 			<version>2.6</version>
@@ -61,9 +68,12 @@
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-javadoc-plugin</artifactId>
-				<version>2.10.3</version>
-				<configuration />
-			</plugin>
+				<version>3.0.1</version>
+				<configuration >
+					<additionalJOptions>
+						<additionalJOption>-html5</additionalJOption>
+					</additionalJOptions>
+				</configuration>			</plugin>
 
 			<plugin>
 				<artifactId>maven-assembly-plugin</artifactId>
diff --git a/Klausuren/Sd1/2017Summer/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Ersatzteil.java b/Klausuren/Sd1/2017Summer/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Ersatzteil.java
index 48481e3e6..1febeea58 100644
--- a/Klausuren/Sd1/2017Summer/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Ersatzteil.java
+++ b/Klausuren/Sd1/2017Summer/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Ersatzteil.java
@@ -11,8 +11,8 @@ public class Ersatzteil {
 	/**
 	 * Neues Ersatzteil mit Teilenummer und informeller Bezeichnung
 	 * 
-	 * @param teilenummer
-	 * @param bezeichnung
+	 * @param teilenummer Eindeutige Nummer des Ersatzteils
+	 * @param bezeichnung Bezeichnung des Ersatzteils, z.B. »Schraube M8«
 	 */
 	public Ersatzteil(final int teilenummer, final String bezeichnung) {
 		this.teilenummer = teilenummer;
diff --git a/Klausuren/Sd1/2017Summer/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Reifen.java b/Klausuren/Sd1/2017Summer/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Reifen.java
index 7993ed9b5..8a3d3123d 100644
--- a/Klausuren/Sd1/2017Summer/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Reifen.java
+++ b/Klausuren/Sd1/2017Summer/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Reifen.java
@@ -6,8 +6,8 @@ public class Reifen extends Ersatzteil {
    
    /**
     * 
-    * @param teilenummer
-    * @param maxGeschwindigkeit Höchstzulässige Geschwindigkeit des Reifens
+    * @param teilenummer Siehe {@link Ersatzteil#Ersatzteil(int, String)}
+    * @param maxGeschwindigkeit Höchstzulässige Geschwindigkeit
     */
    public Reifen(final int teilenummer, final int maxGeschwindigkeit) {
       super(teilenummer, "Reifen");
diff --git a/Klausuren/Sd1/2017Summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/aufgabe2/Test_Ersatzteil.java b/Klausuren/Sd1/2017Summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/aufgabe2/Test_Ersatzteil.java
index 07112c572..eee9f4858 100644
--- a/Klausuren/Sd1/2017Summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/aufgabe2/Test_Ersatzteil.java
+++ b/Klausuren/Sd1/2017Summer/Solve/src/test/java/de/hdm_stuttgart/mi/sd1/test/aufgabe2/Test_Ersatzteil.java
@@ -14,11 +14,13 @@ import de.hdm_stuttgart.mi.sd1.aufgabe2.Ersatzteil;
 import de.hdm_stuttgart.mi.sd1.test.helper.ReflectClass;
 import de.hdm_stuttgart.mi.sd1.test.helper.ReflectionHelper;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.core.IsNull.notNullValue;
-import static org.hamcrest.core.IsNull.nullValue;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.not;
+import static org.hamcrest.Matchers.nullValue;
+import static org.hamcrest.Matchers.greaterThan;
+
+
 
 /**
  * Teste Ersatzteile.
@@ -137,13 +139,17 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
    @Marking(points = 1)
    public void test_075_attrib_ersatzteil_private() {
 
-      Assert.assertTrue("Die Klassse 'Ersatzteil' hat kein Attribut", 0 < Ersatzteil.class.getDeclaredFields().length);
-      
-      final String nonPrivateAttribs = ReflectClass.getNonPrivateAttributes(Ersatzteil.class);
-      Assert.assertNull(
-      		"Folgende Attribute in der Klasse 'Ersatzteil' sind nicht 'private':  " + nonPrivateAttribs + ".   ",
-					nonPrivateAttribs);
-   }	
+     Assert.assertThat("Die Klassse 'Ersatzteil' hat kein Attribut",
+         Ersatzteil.class.getDeclaredFields().length,
+         greaterThan(0));
+
+     final String nonPrivateAttribs = ReflectClass.getNonPrivateAttributes(Ersatzteil.class);
+
+      Assert.assertThat(
+          "Folgende Attribute in der Klasse 'Ersatzteil' sind nicht 'private':  " + nonPrivateAttribs,
+          nonPrivateAttribs,
+          is(nullValue()));
+   }
 	
 	/**
 	 * Definition class Reifen {...}
@@ -151,17 +157,17 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 	@Test
 	@Marking(points = 1)
 	public void test_080_classReifen() {
-		Assert.assertNull(rHelper.reifenKlasse.msg);
+	  Assert.assertThat(rHelper.reifenKlasse.msg, is(nullValue()));
 	}
 	
-	/**     modifier and method.getModifiers();
+	/** modifier and method.getModifiers();
 
 	 * Konstruktor Definition public Reifen (int, int){...}
 	 */
 	@Test
 	@Marking(points = 1)
 	public void test_200_reifenKonstruktor() {
-		Assert.assertNull(rHelper.reifen_constructor_int_int.getRecursiveMsg());
+   Assert.assertThat(rHelper.reifen_constructor_int_int.getRecursiveMsg(), is(nullValue()));
 	}
 
 	/**
@@ -170,10 +176,12 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 	@Test
 	@Marking(points = 1)
 	public void test_077_equalsNichtRedefinierbar() {
-		Assert.assertNull(rHelper.ersatzteil_equals.getRecursiveErrorMsg());
-      Assert.assertNull(rHelper.ersatzteil_equals.assertIsDefinedIn(Ersatzteil.class));
-      Assert.assertNull(rHelper.ersatzteil_equals.assertModifierIsPresent(Modifier.FINAL, "Methode Ersatzteil.equals() darf nicht redefinierbar sein"));
 
+   Assert.assertThat(rHelper.ersatzteil_equals.getRecursiveErrorMsg(), is(nullValue()));
+   Assert.assertThat(rHelper.ersatzteil_equals.assertIsDefinedIn(Ersatzteil.class), is(nullValue()));
+   Assert.assertThat(
+       "Methode Ersatzteil.equals() darf nicht redefinierbar sein",
+       rHelper.ersatzteil_equals.assertModifierIsPresent(Modifier.FINAL), is(nullValue()));
 	}
 
 	/**
@@ -181,12 +189,10 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 	 */
 	@Test
 	@Marking(points = 1)
-	public void test_220_Reifen_toString() {		
-		Assert.assertNull(rHelper.reifen_toString.getRecursiveErrorMsg());
-
-      Assert.assertNull(rHelper.reifen_toString.assertIsDefinedIn("de.hdm_stuttgart.mi.sd1.aufgabe2.Reifen"));
-      Assert.assertNull(rHelper.reifen_toString.assertModifierIsPresent(Modifier.PUBLIC));
-      
+	public void test_220_Reifen_toString() {
+   Assert.assertThat(rHelper.reifen_toString.getRecursiveErrorMsg(), is(nullValue()));
+   Assert.assertThat(rHelper.reifen_toString.assertIsDefinedIn("de.hdm_stuttgart.mi.sd1.aufgabe2.Reifen"), is(nullValue()));
+   Assert.assertThat(rHelper.reifen_toString.assertModifierIsPresent(Modifier.PUBLIC), is(nullValue()));
 	}
 
 	/**
@@ -195,9 +201,9 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 	@Test
 	@Marking(points = 2)
 	public void test_400_konstruktorReifen() {
-      Assert.assertNull(rHelper.reifenKlasse.msg);
-		Assert.assertNull(rHelper.reifen_constructor_int_int.getRecursiveMsg());
-		
+   Assert.assertThat(rHelper.reifenKlasse.msg, is(nullValue()));
+   Assert.assertThat(rHelper.reifen_constructor_int_int.getRecursiveMsg(), is(nullValue()));
+
 		Object reifen;
 		try {
 			reifen = rHelper.reifen_constructor_int_int.constructor.newInstance(1132, 160);
@@ -206,11 +212,12 @@ public class Test_Ersatzteil extends ExaminationTestDefaults {
 			Assert.fail("Konnte 'new Reifen(1132, 160)' nicht aufrufen.");
 			return;
 		}
-		Assert.assertTrue("Objekt ist kein Ersatzteil", reifen instanceof Ersatzteil);
+		Assert.assertThat("Objekt ist kein Ersatzteil", reifen instanceof Ersatzteil, is(true));
 		try {
-			Assert.assertEquals("Reifen, Teilenummer:1132, Maximalgeschwindigkeit:160 Kmh",
-					rHelper.reifen_toString.method.invoke(reifen));
-		} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+		  Assert.assertThat(
+		      rHelper.reifen_toString.method.invoke(reifen),
+        equalTo("Reifen, Teilenummer:1132, Maximalgeschwindigkeit:160 Kmh"));
+		} catch (final IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
 			Assert.fail("Konnte 'toString()' für 'new Reifen(1132, 160)' nicht aufrufen.");
 		}
 	}
-- 
GitLab