Skip to content

Commit 9043fc8

Browse files
committed
fc61823 Testes
1 parent f0ab2f9 commit 9043fc8

File tree

6 files changed

+132
-0
lines changed

6 files changed

+132
-0
lines changed

liquidjava-verifier/pom.xml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,45 @@
1919
<build>
2020
<finalName>${jar.finalName}</finalName>
2121
<plugins>
22+
<plugin>
23+
<groupId>org.jacoco</groupId>
24+
<artifactId>jacoco-maven-plugin</artifactId>
25+
<version>0.8.14</version>
26+
<executions>
27+
<execution>
28+
<id>default-prepare-agent</id>
29+
<goals>
30+
<goal>prepare-agent</goal>
31+
</goals>
32+
</execution>
33+
<execution>
34+
<id>default-report</id>
35+
<goals>
36+
<goal>report</goal>
37+
</goals>
38+
</execution>
39+
<execution>
40+
<id>default-check</id>
41+
<goals>
42+
<goal>check</goal>
43+
</goals>
44+
<configuration>
45+
<rules>
46+
<rule>
47+
<element>BUNDLE</element>
48+
<limits>
49+
<limit>
50+
<counter>COMPLEXITY</counter>
51+
<value>COVEREDRATIO</value>
52+
<minimum>0.60</minimum>
53+
</limit>
54+
</limits>
55+
</rule>
56+
</rules>
57+
</configuration>
58+
</execution>
59+
</executions>
60+
</plugin>
2261
<plugin>
2362
<groupId>net.revelc.code.formatter</groupId>
2463
<artifactId>formatter-maven-plugin</artifactId>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package liquidjava.api.tests;
2+
3+
import static org.junit.Assert.assertFalse;
4+
import static org.junit.Assert.assertNotNull;
5+
6+
import liquidjava.api.CommandLineLauncher;
7+
import liquidjava.errors.ErrorEmitter;
8+
import org.junit.Test;
9+
10+
public class TesteIntegrationSimples {
11+
12+
@Test
13+
public void testLaunchOnSimpleExample() {
14+
String path = "../liquidjava-example/src/main/java/testSuite/SimpleTest.java";
15+
16+
ErrorEmitter ee = CommandLineLauncher.launch(path);
17+
assertNotNull("nao pode ser null", ee);
18+
assertFalse("não é esperado nenhum erro de verificacao", ee.foundError());
19+
}
20+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package liquidjava.rj_language;
2+
3+
import static org.junit.Assert.assertNotEquals;
4+
import org.junit.Test;
5+
import liquidjava.rj_language.ast.LiteralString;
6+
7+
public class TestLiteralString {
8+
@Test
9+
public void testLiteralString() {
10+
LiteralString s1 = new LiteralString("hello");
11+
LiteralString s2 = new LiteralString("world");
12+
assertNotEquals(s1.hashCode(), s2.hashCode());
13+
}
14+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package liquidjava.rj_language.ast;
2+
3+
import org.junit.jupiter.api.Test;
4+
import static org.junit.jupiter.api.Assertions.*;
5+
6+
class BinaryExpressionBasicsTest {
7+
8+
@Test
9+
void testeOperacaoAritmetica() {
10+
BinaryExpression be = new BinaryExpression(new LiteralInt(1), "+", new LiteralInt(2));
11+
12+
assertTrue(be.isArithmeticOperation());
13+
assertFalse(be.isBooleanOperation());
14+
assertFalse(be.isLogicOperation());
15+
16+
assertEquals("1 + 2", be.toString());
17+
}
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import static org.junit.Assert.assertEquals;
2+
3+
import org.junit.Test;
4+
5+
import liquidjava.rj_language.ast.BinaryExpression;
6+
import liquidjava.rj_language.ast.LiteralInt;
7+
import liquidjava.rj_language.opt.ConstantFolding;
8+
import liquidjava.rj_language.opt.derivation_node.ValDerivationNode;
9+
10+
public class TestOptimization {
11+
@Test
12+
public void testBinaryFold() {
13+
BinaryExpression b = new BinaryExpression(new LiteralInt(1), "+", new LiteralInt(2));
14+
15+
ValDerivationNode r = ConstantFolding.fold(new ValDerivationNode(b, null));
16+
assertEquals(r.getValue(), new LiteralInt(3));
17+
}
18+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package liquidjava.rj_language.ast;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import java.util.ArrayList;
6+
import java.util.List;
7+
8+
import static org.junit.jupiter.api.Assertions.*;
9+
10+
class VarBasicsTest {
11+
12+
@Test
13+
void testeNome_Clone() {
14+
Var v = new Var("x"); //metodos similares retornam o mesmo
15+
16+
assertEquals("x", v.getName(), "Nome var");
17+
assertEquals("x", v.toString(), "toString deve devolver o nome");
18+
19+
Var vClone = (Var) v.clone(); //mesmo objeto mas dif instancia
20+
assertNotSame(v, vClone, "clone deve ser outra instância");
21+
assertEquals(v, vClone, "clone deve ser igual ao original");
22+
}
23+
}

0 commit comments

Comments
 (0)