MinusOpNode minusOp = (MinusOpNode) expr.getChild(0);
assertEquals(90, ((IntegerNode) minusOp.getChild(0)).getValue());
assertEquals(14.75, ((FloatNode) minusOp.getChild(1)).getValue());
expr = (new ExpressionParser("$a or true")).parseExpression();
OrOpNode orOp = (OrOpNode) expr.getChild(0);
assertEquals("$a", orOp.getChild(0).toSourceString());
assertEquals(true, ((BooleanNode) orOp.getChild(1)).getValue());
expr = (new ExpressionParser("$a ?: $b ?: $c")).parseExpression();
NullCoalescingOpNode nullCoalOp0 = (NullCoalescingOpNode) expr.getChild(0);
assertEquals("$a", nullCoalOp0.getChild(0).toSourceString());
NullCoalescingOpNode nullCoalOp1 = (NullCoalescingOpNode) nullCoalOp0.getChild(1);