use of de.bmoth.parser.ast.nodes.FormulaNode in project bmoth by hhu-stups.
the class LogicOperationsTest method disjunctionTest.
@Test
public void disjunctionTest() throws ParserException {
String formula = "x < 3 or x > 4";
FormulaNode formulaNode = Parser.getFormulaAsSemanticAst(formula);
assertEquals(PREDICATE_FORMULA, formulaNode.getFormulaType());
DeclarationNode declarationNode = formulaNode.getImplicitDeclarations().get(0);
assertEquals("x", declarationNode.getName());
assertEquals(INTEGER, declarationNode.getType().toString());
}
use of de.bmoth.parser.ast.nodes.FormulaNode in project bmoth by hhu-stups.
the class LogicOperationsTest method negationTest.
@Test
public void negationTest() throws ParserException {
String formula = "x = bool(not(3>2))";
FormulaNode formulaNode = Parser.getFormulaAsSemanticAst(formula);
assertEquals(PREDICATE_FORMULA, formulaNode.getFormulaType());
DeclarationNode declarationNode = formulaNode.getImplicitDeclarations().get(0);
assertEquals("x", declarationNode.getName());
assertEquals(BOOL, declarationNode.getType().toString());
}
use of de.bmoth.parser.ast.nodes.FormulaNode in project bmoth by hhu-stups.
the class LogicOperationsTest method inEqualityTest.
@Test
public void inEqualityTest() throws ParserException {
String formula = "x /= 3";
FormulaNode formulaNode = Parser.getFormulaAsSemanticAst(formula);
assertEquals(PREDICATE_FORMULA, formulaNode.getFormulaType());
DeclarationNode declarationNode = formulaNode.getImplicitDeclarations().get(0);
assertEquals("x", declarationNode.getName());
assertEquals(INTEGER, declarationNode.getType().toString());
}
use of de.bmoth.parser.ast.nodes.FormulaNode in project bmoth by hhu-stups.
the class ASTTransformationTest method testElementOfCombinedWithMultipleIntersections.
@Test
public void testElementOfCombinedWithMultipleIntersections() {
String formula = "a : {1} /\\ b /\\ c";
FormulaNode formulaNode = parseFormula(formula);
formulaNode = AstTransformationsForZ3.transformFormulaNode(formulaNode);
assertEquals("AND(AND(ELEMENT_OF(a,SET_ENUMERATION(1)),ELEMENT_OF(a,b)),ELEMENT_OF(a,c))", formulaNode.getFormula().toString());
}
use of de.bmoth.parser.ast.nodes.FormulaNode in project bmoth by hhu-stups.
the class ASTTransformationTest method testElementOfCombinedWithMultipleUnions.
@Test
public void testElementOfCombinedWithMultipleUnions() {
String formula = "a : {1} \\/ b \\/ c";
FormulaNode formulaNode = parseFormula(formula);
formulaNode = AstTransformationsForZ3.transformFormulaNode(formulaNode);
assertEquals("OR(OR(ELEMENT_OF(a,SET_ENUMERATION(1)),ELEMENT_OF(a,b)),ELEMENT_OF(a,c))", formulaNode.getFormula().toString());
}
Aggregations