From 09e85e9945dc39705daba2af992283d0ceb59146 Mon Sep 17 00:00:00 2001 From: schneefux Date: Sat, 29 Sep 2018 21:30:09 +0200 Subject: test --- src/de/ostfalia/algo/ws18/s2/test/MemberTest.java | 260 ++++++++++++++++++++++ 1 file changed, 260 insertions(+) create mode 100644 src/de/ostfalia/algo/ws18/s2/test/MemberTest.java (limited to 'src/de/ostfalia/algo/ws18/s2/test/MemberTest.java') diff --git a/src/de/ostfalia/algo/ws18/s2/test/MemberTest.java b/src/de/ostfalia/algo/ws18/s2/test/MemberTest.java new file mode 100644 index 0000000..1078cdc --- /dev/null +++ b/src/de/ostfalia/algo/ws18/s2/test/MemberTest.java @@ -0,0 +1,260 @@ +package de.ostfalia.algo.ws18.s2.test; + +import static org.junit.Assert.*; + +import java.time.LocalDate; + +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.RuleChain; +import org.junit.rules.TestRule; +import org.junit.runner.RunWith; + +import de.ostfalia.algo.ws18.base.Gender; +import de.ostfalia.algo.ws18.base.IMember; +import de.ostfalia.algo.ws18.base.KindOfSport; +import de.ostfalia.algo.ws18.base.Member; +import de.ostfalia.junit.annotations.TestDescription; +import de.ostfalia.junit.base.IMessengerRules; +import de.ostfalia.junit.base.ITraceRules; +import de.ostfalia.junit.conditional.PassTrace; +import de.ostfalia.junit.rules.MessengerRule; +import de.ostfalia.junit.rules.RuleControl; +import de.ostfalia.junit.rules.TraceRule; +import de.ostfalia.junit.runner.TopologicalSortRunner; + +@RunWith(TopologicalSortRunner.class) +public class MemberTest { + + public RuleControl opt = RuleControl.NONE; + public IMessengerRules messenger = MessengerRule.newInstance(opt); + public ITraceRules trace = TraceRule.newInstance(opt); + + + @Rule + public TestRule chain = RuleChain + .outerRule(trace) + .around(messenger); + + /** + * Datensatz mit 10 Eintraegen als Testdaten fuer die JUnit-Tests. + */ + public String[] data = {"Ackerman, Niklas, 1979-04-08, M, SCHWIMMEN", //[0] + "Bauer, Juliane, 1939-01-16, F, FECHTEN", //[1] + "Kirsch, Antje, 1960-07-13, F, TURNEN", //[2] + "Koertig, Dominik, 1933-09-28, M, HANDBALL", //[3] + "Trommler, Ines, 1924-10-29, F, TURNEN", //[4] + "Hirsch, Manuela, 1948-05-10, F, RUDERN", //[5] + "Schaefer, Stephanie, 1997-05-31, F, FECHTEN", //[6] + "Schultz, Katrin, 1952-08-18, F, REITEN", //[7] + "Fried, Leonie, 1965-09-24, F, TURNEN", //[8] + "Lemann, Philipp, 1936-10-30, M, RADSPORT"}; //[9] + + /** + * Datensatz mit 3 Eintraegen als Testdaten fuer die JUnit-Tests. + */ + public String[] test = {"Ackerman, Niklas, 1979-04-08, M, SCHWIMMEN", + "Acker, Nadine, 1979-04-08, F, HANDBALL", + "Acker, Nadine, 1979-04-10, F, HANDBALL"}; + + /** + * Schluesselwerte fuer den Datensatz data (10 Eintraege). + */ + public long[] keys = {11408041979L, 21016011939L, 110113071960L, 110428091933L, + 200929101924L, 81310051948L, 191931051997L, 191118081952L, + 61224091965L, 121630101936L}; + + @Before + public void setUp() throws Exception { + } + + /** + * + */ + @Test (timeout = 1000) + @TestDescription("Testen der toString()-Methode.") + public void testToString() { + for (int i = 0; i < keys.length; i++) { + trace.add("Konstruktoraufruf Member(%s)", data[i]); + IMember member = new Member(data[i]); + String exp = keys[i] + ", " + data[i]; + String got = member.toString(); + trace.addInfo(PassTrace.ifEquals("Fehler im Datensatz %d", + exp, got, i + 1)); + } + assertFalse("Fehler bei der Implementierung toString()-Methode.", + trace.hasOccurrences()); + } + + /** + * + */ + @Test (timeout = 1000) + @TestDescription("Testen der getKey()-Methode.") + public void testGetKey() { + for (int i = 0; i < keys.length; i++) { + trace.add("Konstruktoraufruf Member(%s)", data[i]); + IMember member = new Member(data[i]); + Long exp = keys[i]; + Long got = member.getKey(); + trace.addInfo(PassTrace.ifEquals("Fehlerhafter Schuessel im Datensatz %d", + exp, got, i + 1)); + } + assertFalse("Fehler bei der Rueckgabe des Schluesselwertes.", + trace.hasOccurrences()); + } + + /** + * + */ + @Test (timeout = 1000) + @TestDescription("Testen der getName()-Methode.") + public void testGetName() { + for (int i = 0; i < keys.length; i++) { + trace.add("Konstruktoraufruf Member(%s)", data[i]); + IMember member = new Member(data[i]); + String exp = data[i].split(",")[0]; + String got = member.getName(); + trace.addInfo(PassTrace.ifEquals("Fehlerhafter Nachname im Datensatz %d", + exp, got, i + 1)); + } + assertFalse("Fehler bei der Rueckgabe des Nachnamens.", + trace.hasOccurrences()); + } + + /** + * + */ + @Test (timeout = 1000) + @TestDescription("Testen der getFirstName()-Methode.") + public void testGetFirstName() { + for (int i = 0; i < keys.length; i++) { + trace.add("Konstruktoraufruf Member(%s)", data[i]); + IMember member = new Member(data[i]); + String exp = data[i].split(",")[1]; + String got = member.getFirstName(); + trace.addInfo(PassTrace.ifEquals("Fehlerhafter Vornamen im Datensatz %d", + exp, got, i + 1)); + } + assertFalse("Fehler bei der Rueckgabe des Vornamens.", + trace.hasOccurrences()); + } + + /** + * + */ + @Test (timeout = 1000) + @TestDescription("Testen der geDate()-Methode.") + public void testGetDate() { + for (int i = 0; i < keys.length; i++) { + trace.add("Konstruktoraufruf Member(%s)", data[i]); + IMember member = new Member(data[i]); + String exp = data[i].split(",")[2]; + LocalDate got = member.getDate(); + trace.addInfo(PassTrace.ifEquals("Fehlerhaftes Geburtsdatum im Datensatz %d", + exp, got, i + 1)); + } + assertFalse("Fehler bei der Rueckgabe des Geburtsdatums.", + trace.hasOccurrences()); + } + + /** + * + */ + @Test (timeout = 1000) + @TestDescription("Testen der getGender()-Methode.") + public void testGender() { + for (int i = 0; i < keys.length; i++) { + trace.add("Konstruktoraufruf Member(%s)", data[i]); + IMember member = new Member(data[i]); + String exp = data[i].split(",")[3]; + Gender got = member.getGender(); + trace.addInfo(PassTrace.ifEquals("Fehlerhaftes Geschlecht im Datensatz %d", + exp, got, i + 1)); + } + assertFalse("Fehler bei der Rueckgabe des Geschlechts.", + trace.hasOccurrences()); + } + + /** + * + */ + @Test (timeout = 1000) + @TestDescription("Testen der getKindOfSport()-Methode.") + public void testGetKindOfSport() { + for (int i = 0; i < keys.length; i++) { + trace.add("Konstruktoraufruf Member(%s)", data[i]); + IMember member = new Member(data[i]); + String exp = data[i].split(",")[4]; + KindOfSport got = member.getKindOfSport(); + trace.addInfo(PassTrace.ifEquals("Fehlerhafte Sportart im Datensatz %d", + exp, got, i + 1)); + } + assertFalse("Fehler bei der Rueckgabe der Sportart.", + trace.hasOccurrences()); + } + + /** + * + */ + @Ignore + @Test (timeout = 1000) + @TestDescription("Testen der equals()-Methode.") + public void testEqualsObject() { + trace.add("Konstruktoraufruf Member(%s) fuer Mitglied %d", data[0], 1); + IMember member1 = new Member(test[0]); + trace.add("Konstruktoraufruf Member(%s) fuer Mitglied %d", data[0], 2); + IMember duplikat = new Member(test[0]); + trace.add("Konstruktoraufruf Member(%s) fuer Mitglied %d", data[1], 3); + IMember member2 = new Member(test[1]); + trace.add("Konstruktoraufruf Member(%s) fuer Mitglied %d", data[1], 4); + IMember member3 = new Member(test[2]); + + trace.addInfo(PassTrace.ifTrue("[%s] gleich [%s]?", + member1.equals(duplikat), member1, duplikat)); + trace.addInfo(PassTrace.ifTrue("[%s] gleich [%s]", + member1.equals(member2), member1, member2)); + trace.addInfo(PassTrace.ifFalse("[%s] gleich [%s]", + member1.equals(member3), member1, member3)); + trace.addInfo(PassTrace.ifFalse("[%s] gleich [%s]", + member2.equals(member3), member2, member3)); + + assertFalse("equals()-Methode fehlerhaft implementiert.", + trace.hasOccurrences()); + } + +} -- cgit v1.3.1