From 3bc33d2fb05667114e0895401b044609469ddbb5 Mon Sep 17 00:00:00 2001 From: mcarolinasaf Date: Tue, 4 Nov 2025 23:15:44 +0000 Subject: [PATCH] =?UTF-8?q?Testes=20unit=C3=A1rios=20e=20de=20integra?= =?UTF-8?q?=C3=A7=C3=A3o=20adicionados=20-=20fc59848?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- liquidjava-verifier/pom.xml | 41 +++++++++++++++++++ .../rj_language/TestLiteralString.java | 25 +++++++++++ .../rj_language/opt/TestOptimization.java | 18 ++++++++ 3 files changed, 84 insertions(+) create mode 100644 liquidjava-verifier/src/test/java/liquidjava/rj_language/TestLiteralString.java create mode 100644 liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/TestOptimization.java diff --git a/liquidjava-verifier/pom.xml b/liquidjava-verifier/pom.xml index 5b42f4cb..b6262a97 100644 --- a/liquidjava-verifier/pom.xml +++ b/liquidjava-verifier/pom.xml @@ -19,6 +19,45 @@ ${jar.finalName} + + org.jacoco + jacoco-maven-plugin + 0.8.14 + + + default-prepare-agent + + prepare-agent + + + + default-report + + report + + + + default-check + + check + + + + + BUNDLE + + + COMPLEXITY + COVEREDRATIO + 0.60 + + + + + + + + net.revelc.code.formatter formatter-maven-plugin @@ -98,6 +137,8 @@ + + UTF-8 20 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..dcf776ad --- /dev/null +++ b/liquidjava-verifier/src/test/java/liquidjava/rj_language/TestLiteralString.java @@ -0,0 +1,25 @@ +package liquidjava.rj_language; + +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertFalse; +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()); + } + + @Test + public void testLiteralStringEquals() { + LiteralString s1 = new LiteralString("hello"); + LiteralString s2 = new LiteralString("world"); + LiteralString s3 = new LiteralString("hello"); + assertTrue(s1.equals(s3)); + assertFalse(s1.equals(s2)); + } +} 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)); + } +}