From 3b5600eba83619241c85515e9b1d68ce69772620 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Sun, 25 Apr 2021 00:02:55 +0200 Subject: [PATCH] Add JavaTest --- .../java/app/model/languages/JavaTest.java | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 src/test/java/app/model/languages/JavaTest.java diff --git a/src/test/java/app/model/languages/JavaTest.java b/src/test/java/app/model/languages/JavaTest.java new file mode 100644 index 0000000..45d1be3 --- /dev/null +++ b/src/test/java/app/model/languages/JavaTest.java @@ -0,0 +1,89 @@ +package app.model.languages; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import app.model.ProgrammingLanguage; + +public class JavaTest { + + private ProgrammingLanguage lang = new Java(); + + @Test + @DisplayName("Test commentLine") + public void testCommentLine() { + String line = "test"; + + assertEquals("// test", lang.commentLine(line)); + assertEquals("// // test", lang.commentLine(lang.commentLine(line))); + } + + @Test + @DisplayName("Test unCommentLine") + public void testUnCommentLine() { + String line = "// // test"; + + assertEquals("// test", lang.unCommentLine(line)); + assertEquals("test", lang.unCommentLine(lang.unCommentLine(line))); + assertEquals("test", lang.unCommentLine("test")); + } + + @Test + @DisplayName("Test combination of commentLine and unCommentLine") + public void testCommentUnCommentLine() { + String line = "test"; + String wrapped1 = lang.unCommentLine(lang.commentLine(line)); + String wrapped2 = lang.unCommentLine(lang.commentLine(wrapped1)); + + assertEquals(line, wrapped1); + assertEquals(line, wrapped2); + } + + + @Test + @DisplayName("Test commentSelection") + public void testCommentSelection() { + String selection = "This\nis a multiline\nstring"; + + assertEquals("/* \n * This\n * is a multiline\n * string\n */", lang.commentSelection(selection)); + assertEquals( + "/* \n * /* \n * * This\n * * is a multiline\n * * string\n * */\n */", + lang.commentSelection(lang.commentSelection(selection)) + ); + } + + @Test + @DisplayName("Test unCommentSelection") + public void testUnCommentSelection() { + String selection = "/* \n * /* \n * * This\n * * is a multiline\n * * string\n * */\n */"; + + assertEquals("/* \n * This\n * is a multiline\n * string\n */", lang.unCommentSelection(selection)); + assertEquals("This\nis a multiline\nstring", lang.unCommentSelection(lang.unCommentSelection(selection))); + assertEquals("This\nis a multiline\nstring", lang.unCommentLine("This\nis a multiline\nstring")); + } + + @Test + @DisplayName("Test isCommentedLine") + public void testIsCommentedLine() { + String commentedLine = "// test"; + String unCommentedLine = "test"; + + assertTrue(lang.isCommentedLine(commentedLine)); + assertFalse(lang.isCommentedLine(unCommentedLine)); + } + + @Test + @DisplayName("Test isCommentedSelection") + public void testIsCommentedSelection() { + String commentedSelection = "/* \n * test\n */"; + String unCommentedSelection = "test"; + + assertTrue(lang.isCommentedSelection(commentedSelection)); + assertFalse(lang.isCommentedSelection(unCommentedSelection)); + } + +}