import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import java.io.*; import java.nio.charset.StandardCharsets; import static org.junit.jupiter.api.Assertions.*; class ResourceApiTest { private static ResourceApi resourceApi; @BeforeAll static void init() { resourceApi = new ResourceApi(); } @Test void getFileFromResourceAsStream() throws IOException { assertThrowsExactly(IllegalArgumentException.class, () -> resourceApi.getFileFromResourceAsStream("does_not_exist")); InputStream is = resourceApi.getFileFromResourceAsStream("german_wordlist.txt"); BufferedReader in = new BufferedReader(new InputStreamReader(is)); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine + "\n"); } in.close(); assertTrue(response.toString().contains("Alleinherrschaft")); } @Test void getStringFromInputStream() throws IOException { String testString = "I am a test string!\nAnother test line.\n"; InputStream is = new ByteArrayInputStream(testString.getBytes(StandardCharsets.UTF_8)); assertEquals(resourceApi.getStringFromInputStream(is), testString); } @Test void getFileFromResourceAsString() throws IOException { assertTrue(resourceApi.getFileFromResourceAsString("german_wordlist.txt").contains("Alleinherrschaft")); } }