Skip to content

Commit 9866bd4

Browse files
committed
testing ternary op
1 parent 245c128 commit 9866bd4

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package expr_parser.parser.test;
2+
3+
import static org.junit.Assert.assertEquals;
4+
5+
import org.junit.Test;
6+
7+
import expr_parser.visitors.AntlrExpressionParser;
8+
import expr_parser.visitors.ComparisonEvalVisitor;
9+
10+
public class TernaryTest {
11+
12+
@Test
13+
public void testComparisons() {
14+
15+
assertEquals(1., evaluate("1<2 ? 1 : 0"), 1e-10);
16+
assertEquals(0., evaluate("1>2 ? 1 : 0"), 1e-10);
17+
assertEquals(1., evaluate("1<2 and 2<3 ? 1 : 0"), 1e-10);
18+
assertEquals(1., evaluate("1<2 or 2>3 ? 1 : 0"), 1e-10);
19+
assertEquals(0., evaluate("1>2 or 2>3 ? 1 : 0"), 1e-10);
20+
assertEquals(0., evaluate("1>2 and 2>3 ? 1 : 0"), 1e-10);
21+
22+
}
23+
24+
private Double evaluate(String expression) {
25+
AntlrExpressionParser p = new AntlrExpressionParser(expression);
26+
ComparisonEvalVisitor eval = new ComparisonEvalVisitor();
27+
return p.parseAndVisitWith(eval).asDouble();
28+
}
29+
30+
}

0 commit comments

Comments
 (0)