diff --git a/liquidjava-verifier/pom.xml b/liquidjava-verifier/pom.xml
index 5b42f4cb..0de3675b 100644
--- a/liquidjava-verifier/pom.xml
+++ b/liquidjava-verifier/pom.xml
@@ -39,6 +39,45 @@
+org.jacoco
+jacoco-maven-plugin
+0.8.14
+
+
+default-prepare-agent
+
+prepare-agent
+
+
+
+default-report
+
+report
+
+
+
+default-check
+
+check
+
+
+
+
+BUNDLE
+
+
+COMPLEXITY
+COVEREDRATIO
+0.40
+
+
+
+
+
+
+
+
+
org.apache.maven.plugins
maven-compiler-plugin
${pVersion.compiler}
@@ -193,7 +232,7 @@
gson
2.10.1
-
+
diff --git a/liquidjava-verifier/src/test/java/liquidjava/rj_language/TestLiteralString.java b/liquidjava-verifier/src/test/java/liquidjava/rj_language/TestLiteralString.java
new file mode 100644
index 00000000..341ce079
--- /dev/null
+++ b/liquidjava-verifier/src/test/java/liquidjava/rj_language/TestLiteralString.java
@@ -0,0 +1,15 @@
+
+package liquidjava.rj_language;
+
+import static org.junit.Assert.assertNotEquals;
+import org.junit.Test;
+import liquidjava.rj_language.ast.LiteralString;
+
+public class TestLiteralString {
+ @Test
+ public void testLiteralString() {
+ LiteralString s1 = new LiteralString("hello");
+ LiteralString s2 = new LiteralString("world");
+ assertNotEquals(s1.hashCode(), s2.hashCode());
+ }
+}
diff --git a/liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TestLiteralBoolean.java b/liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TestLiteralBoolean.java
new file mode 100644
index 00000000..82b4c70f
--- /dev/null
+++ b/liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TestLiteralBoolean.java
@@ -0,0 +1,16 @@
+package liquidjava.rj_language.ast;
+
+import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+/**
+ * Testa o método LiteralBoolean devolve a string "true" quando o valor booleano interno é verdadeiro
+ */
+
+class LiteralBooleanSimplestTest {
+
+ @Test
+ void testIsBooleanTrue() {
+ assertTrue(new LiteralBoolean(true).isBooleanTrue());
+ }
+}
diff --git a/liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TestLiteralInt.java b/liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TestLiteralInt.java
new file mode 100644
index 00000000..0d485d2c
--- /dev/null
+++ b/liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TestLiteralInt.java
@@ -0,0 +1,16 @@
+package liquidjava.rj_language.ast;
+
+import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * Testa se o método LiteralInt devolve o número em formato de texto
+ */
+
+class TestLiteralInt {
+
+ @Test
+ void testToStringReturnsNumber() {
+ assertEquals("42", new LiteralInt(42).toString());
+ }
+}
diff --git a/liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TestOptimization.java b/liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TestOptimization.java
new file mode 100644
index 00000000..cdf819a8
--- /dev/null
+++ b/liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TestOptimization.java
@@ -0,0 +1,18 @@
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+import liquidjava.rj_language.ast.BinaryExpression;
+import liquidjava.rj_language.ast.LiteralInt;
+import liquidjava.rj_language.opt.ConstantFolding;
+import liquidjava.rj_language.opt.derivation_node.ValDerivationNode;
+
+public class TestOptimization {
+ @Test
+ public void testBinaryFold() {
+ BinaryExpression b = new BinaryExpression(new LiteralInt(1), "+", new LiteralInt(2));
+
+ ValDerivationNode r = ConstantFolding.fold(new ValDerivationNode(b, null));
+ assertEquals(r.getValue(), new LiteralInt(3));
+ }
+}
diff --git a/liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TesteIntegracao.java b/liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TesteIntegracao.java
new file mode 100644
index 00000000..25650fdc
--- /dev/null
+++ b/liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TesteIntegracao.java
@@ -0,0 +1,17 @@
+package liquidjava.api.tests;
+
+import static org.junit.Assert.fail;
+
+import liquidjava.api.CommandLineLauncher;
+import org.junit.Test;
+
+public class TesteIntegracao {
+ /**
+ * Testa se a execução do método principal de CommandLineLauncher sem argumentos arranca sem lançar exceções
+ */
+ @Test
+ public void testMainWithNoArguments() {
+ CommandLineLauncher.main(new String[] {});
+ }
+
+}