Skip to content

Commit 9baef0a

Browse files
committed
Adiciona dois testes unitários e um teste de integração
1 parent 8685353 commit 9baef0a

File tree

5 files changed

+112
-0
lines changed

5 files changed

+112
-0
lines changed

liquidjava-verifier/pom.xml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,45 @@
6161
<build>
6262
<finalName>${jar.finalName}</finalName>
6363
<plugins>
64+
<plugin>
65+
<groupId>org.jacoco</groupId>
66+
<artifactId>jacoco-maven-plugin</artifactId>
67+
<version>0.8.14</version>
68+
<executions>
69+
<execution>
70+
<id>default-prepare-agent</id>
71+
<goals>
72+
<goal>prepare-agent</goal>
73+
</goals>
74+
</execution>
75+
<execution>
76+
<id>default-report</id>
77+
<goals>
78+
<goal>report</goal>
79+
</goals>
80+
</execution>
81+
<execution>
82+
<id>default-check</id>
83+
<goals>
84+
<goal>check</goal>
85+
</goals>
86+
<configuration>
87+
<rules>
88+
<rule>
89+
<element>BUNDLE</element>
90+
<limits>
91+
<limit>
92+
<counter>COMPLEXITY</counter>
93+
<value>COVEREDRATIO</value>
94+
<minimum>0.60</minimum>
95+
</limit>
96+
</limits>
97+
</rule>
98+
</rules>
99+
</configuration>
100+
</execution>
101+
</executions>
102+
</plugin>
64103
<plugin>
65104
<groupId>net.revelc.code.formatter</groupId>
66105
<artifactId>formatter-maven-plugin</artifactId>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package liquidjava.rj_language;
2+
3+
import static org.junit.Assert.assertEquals;
4+
import static org.junit.Assert.assertNotEquals;
5+
import org.junit.Test;
6+
7+
import liquidjava.rj_language.ast.LiteralString;
8+
9+
public class TestLiteralString {
10+
@Test
11+
public void testLiteralString() {
12+
LiteralString s1 = new LiteralString("hello");
13+
LiteralString s2 = new LiteralString("world");
14+
assertNotEquals(s1.hashCode(), s2.hashCode());
15+
}
16+
17+
@Test
18+
public void testToString() {
19+
LiteralString string = new LiteralString("hello world");
20+
21+
String result = string.toString();
22+
23+
assertEquals("hello world", result);
24+
}
25+
}

liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/ExpressionSimplifierTest.java renamed to liquidjava-verifier/src/test/java/liquidjava/rj_language/ast/opt/ExpressionSimplifierTest.java

File renamed without changes.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import static org.junit.Assert.assertEquals;
2+
import org.junit.Test;
3+
4+
import liquidjava.rj_language.ast.BinaryExpression;
5+
import liquidjava.rj_language.ast.LiteralInt;
6+
import liquidjava.rj_language.opt.ConstantFolding;
7+
import liquidjava.rj_language.opt.derivation_node.ValDerivationNode;
8+
9+
public class TestOptimization {
10+
@Test
11+
public void testBinaryFold() {
12+
BinaryExpression b = new BinaryExpression(new LiteralInt(1), "+", new LiteralInt(2));
13+
14+
ValDerivationNode r = ConstantFolding.fold(new ValDerivationNode(b, null));
15+
assertEquals(r.getValue(), new LiteralInt(3));
16+
}
17+
18+
@Test
19+
public void testBinaryExpressionWithLiteralInt() {
20+
LiteralInt num1 = new LiteralInt(40);
21+
LiteralInt num2 = new LiteralInt(60);
22+
23+
BinaryExpression expression = new BinaryExpression(num1, "+", num2);
24+
25+
String result = expression.toString();
26+
27+
assertEquals("40 + 60", result);
28+
}
29+
30+
@Test
31+
public void testIntegrationNestedAddition() {
32+
// Create integer literals
33+
LiteralInt num1 = new LiteralInt(5);
34+
LiteralInt num2 = new LiteralInt(10);
35+
LiteralInt num3 = new LiteralInt(20);
36+
37+
// Create nested binary expressions
38+
BinaryExpression firstSum = new BinaryExpression(num1, "+", num2); // 5 + 10
39+
BinaryExpression nestedSum = new BinaryExpression(firstSum, "+", num3); // (5 + 10) + 20
40+
41+
// Convert to string
42+
String result = nestedSum.toString();
43+
44+
// Expected output: "(5 + 10) + 20"
45+
assertEquals("5 + 10 + 20", result);
46+
}
47+
48+
}

liquidjava-verifier/src/test/java/liquidjava/rj_language/opt/VariableResolverTest.java renamed to liquidjava-verifier/src/test/java/liquidjava/rj_language/ast/opt/VariableResolverTest.java

File renamed without changes.

0 commit comments

Comments
 (0)