From df2947faef814de1fa06c5e914f3bbf81d81ea7e Mon Sep 17 00:00:00 2001 From: 3010293 <3010293@stud.hs-mannheim.de> Date: Fri, 10 Jan 2025 18:57:36 +0100 Subject: [PATCH] =?UTF-8?q?added=204=20new=20tests,=202=20for=20abgabeM?= =?UTF-8?q?=C3=B6glich=20method=20of=20HitoriMain=20class=20and=202=20for?= =?UTF-8?q?=20avgTime=20method=20of=20HighscoreManager=20class,=20also=20a?= =?UTF-8?q?dded=20a=20txt=20file=20for=20the=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../informatik/mvn/domain/HitoriMain.java | 3 +- .../Hitori_Highscores/timeFileForTest.txt | 4 ++ .../informatik/mvn/test/HitoriTest.java | 71 +++++++++++++++++-- 3 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 PR2Projekt/src/main/resources/Hitori_Highscores/timeFileForTest.txt diff --git a/PR2Projekt/src/main/java/de/hs_mannheim/informatik/mvn/domain/HitoriMain.java b/PR2Projekt/src/main/java/de/hs_mannheim/informatik/mvn/domain/HitoriMain.java index 31c1707..53c9431 100644 --- a/PR2Projekt/src/main/java/de/hs_mannheim/informatik/mvn/domain/HitoriMain.java +++ b/PR2Projekt/src/main/java/de/hs_mannheim/informatik/mvn/domain/HitoriMain.java @@ -12,8 +12,7 @@ public class HitoriMain { public static void main(String[] args) throws FileNotFoundException{ HitoriAPI.starter(); - } - + } public ArrayList readFromFile(InputStream inputStream){ ArrayList lines = new ArrayList<>(); diff --git a/PR2Projekt/src/main/resources/Hitori_Highscores/timeFileForTest.txt b/PR2Projekt/src/main/resources/Hitori_Highscores/timeFileForTest.txt new file mode 100644 index 0000000..b0b8d52 --- /dev/null +++ b/PR2Projekt/src/main/resources/Hitori_Highscores/timeFileForTest.txt @@ -0,0 +1,4 @@ +00:15 Berat +11:00 Emre +08:11 Mark +07:11 Thomas \ No newline at end of file diff --git a/PR2Projekt/src/test/java/de/hs_mannheim/informatik/mvn/test/HitoriTest.java b/PR2Projekt/src/test/java/de/hs_mannheim/informatik/mvn/test/HitoriTest.java index c8cf595..ed20f31 100644 --- a/PR2Projekt/src/test/java/de/hs_mannheim/informatik/mvn/test/HitoriTest.java +++ b/PR2Projekt/src/test/java/de/hs_mannheim/informatik/mvn/test/HitoriTest.java @@ -2,14 +2,23 @@ package de.hs_mannheim.informatik.mvn.test; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.Test; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; import java.time.LocalTime; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeFormatterBuilder; +import java.time.temporal.ChronoField; import java.util.ArrayList; import java.util.Arrays; import de.hs_mannheim.informatik.mvn.domain.HighscoreEintrag; +import de.hs_mannheim.informatik.mvn.domain.HighscoreManager; import de.hs_mannheim.informatik.mvn.domain.HitoriMain; import de.hs_mannheim.informatik.mvn.gui.GameGUI; @@ -374,15 +383,67 @@ class HitoriTest{ assertFalse(he.getName().equals("Emre")); } - @Test void test17() { - + @Test + void getAvgTimeTest1() throws IOException { + String filename = "timeFileForTest.txt"; + String path = "/Hitori_Highscores/timeFileForTest.txt"; + InputStream inputStream = getClass().getResourceAsStream(path); + byte[] data = inputStream.readAllBytes(); + String actual = new HighscoreManager().getAvgTime(data, filename); + String expected = "Durchschnittszeit: 6:39"; + assertEquals(expected, actual); } + @Test + void getAvgTimeTest2() throws IOException { + String filename = "timeFileForTest.txt"; + String path = "/Hitori_Highscores/timeFileForTest.txt"; + InputStream inputStream = getClass().getResourceAsStream(path); + byte[] data = inputStream.readAllBytes(); + String actual = new HighscoreManager().getAvgTime(data, filename); + String expected = "Durchschnittszeit: 00:10"; + assertNotEquals(expected, actual); + } + @Test + void abgabeMöglichTest1() throws FileNotFoundException{ + String path = "/Hitori_Spielfelder/Hitori4x4_leicht.csv"; + InputStream inputStream = getClass().getResourceAsStream(path); + String[][] data = { + {"W", "B", "W", "W"}, + {"W", "W", "W", "B"}, + {"W", "B", "W", "W"}, + {"B", "W", "W", "B"} + }; + String[][] colors = { + {"W", "WGBBB", "W", "W"}, + {"W", "W", "W", "WGB"}, + {"W", "WGB", "W", "W"}, + {"WBGGGGB", "W", "W", "WGB"} + }; + boolean expected = true; + assertEquals(expected, new HitoriMain().abgabeMöglich(inputStream, data, colors)); + } - - - + @Test + void abgabeMöglichTest2() throws FileNotFoundException{ + String path = "/Hitori_Spielfelder/Hitori4x4_leicht.csv"; + InputStream inputStream = getClass().getResourceAsStream(path); + String[][] data = { + {"W", "W", "W", "W"}, + {"W", "W", "W", "W"}, + {"W", "W", "W", "W"}, + {"W", "W", "W", "W"} + }; + String[][] colors = { + {"W", "B", "W", "W"}, + {"W", "W", "W", "B"}, + {"W", "B", "W", "W"}, + {"B", "W", "W", "B"} + }; + boolean expected = false; + assertNotEquals(expected, new HitoriMain().abgabeMöglich(inputStream, data, colors)); + } }