diff --git a/src/test/java/org/example/StringifyFileContentsTest.java b/src/test/java/org/example/StringifyFileContentsTest.java new file mode 100644 index 0000000..c555642 --- /dev/null +++ b/src/test/java/org/example/StringifyFileContentsTest.java @@ -0,0 +1,35 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.nio.file.Path; +import java.nio.file.Paths; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; + +public class StringifyFileContentsTest { + + @Test + @Tag("unit") + void testValidFile() { + Path fp = Paths.get("src/test/resources"); + String stringFromFile = StringifyFileContents.toString("a-text-file.txt", fp); + assertEquals(stringFromFile, "The quick brown fox jumps over the lazy dog"); + } + + @Test + @Tag("unit") + void testInvalidPath() { + Path fp = Paths.get("src/test/reso"); + String stringFromFile = StringifyFileContents.toString("a-text-file.txt", fp); + assertEquals(stringFromFile, "\nAn error reading file occured :c"); + } + + @Test + @Tag("unit") + void testInvalidFileName() { + Path fp = Paths.get("src/test/resources"); + String stringFromFile = StringifyFileContents.toString("non-existent-text-file.txt", fp); + assertEquals(stringFromFile, "\nAn error reading file occured :c"); + } +} diff --git a/src/test/java/org/example/TokensTest.java b/src/test/java/org/example/TokensTest.java new file mode 100644 index 0000000..7bbacae --- /dev/null +++ b/src/test/java/org/example/TokensTest.java @@ -0,0 +1,48 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.json.JSONObject; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; + +public class TokensTest { + + @Test + @Tag("unit") + void testValidJSON() { + JSONObject meta = + new JSONObject( + "{ `tokens`: { `input_tokens`: 69, `output_tokens`: 420 } }".replace('`', '"')); + Tokens tokens = Tokens.fromJson(meta); + assertEquals(tokens.getInputTokens(), 69); + assertEquals(tokens.getOutputTokens(), 420); + } + + @Test + @Tag("unit") + void testJSONMissingTokens() { + JSONObject meta = new JSONObject("{}"); + Tokens tokens = Tokens.fromJson(meta); + assertEquals(tokens.getInputTokens(), 0); + assertEquals(tokens.getOutputTokens(), 0); + } + + @Test + @Tag("unit") + void testJSONMissingInputTokens() { + JSONObject meta = new JSONObject("{ `tokens`: { `output_tokens`: 420 } }".replace('`', '"')); + Tokens tokens = Tokens.fromJson(meta); + assertEquals(tokens.getInputTokens(), 0); + assertEquals(tokens.getOutputTokens(), 420); + } + + @Test + @Tag("unit") + void testJSONMissingOutputTokens() { + JSONObject meta = new JSONObject("{ `tokens`: { `input_tokens`: 69 } }".replace('`', '"')); + Tokens tokens = Tokens.fromJson(meta); + assertEquals(tokens.getInputTokens(), 69); + assertEquals(tokens.getOutputTokens(), 0); + } +} diff --git a/src/test/resources/a-text-file.txt b/src/test/resources/a-text-file.txt new file mode 100644 index 0000000..ff3bb63 --- /dev/null +++ b/src/test/resources/a-text-file.txt @@ -0,0 +1 @@ +The quick brown fox jumps over the lazy dog \ No newline at end of file