Search in sources :

Example 71 with Status

use of com.arbindo.mimock.manage.mimocks.models.v1.Status in project bmoth by hhu-stups.

the class Z3ConnectionTest method testSimpleCallToZ3.

@Test
public void testSimpleCallToZ3() {
    // a = b & a = 5
    Expr a = z3Context.mkIntConst("a");
    Expr b = z3Context.mkIntConst("b");
    BoolExpr constraint = z3Context.mkAnd(z3Context.mkEq(a, b), z3Context.mkEq(a, z3Context.mkInt(5)));
    z3Solver.add(constraint);
    Status check = z3Solver.check();
    assertEquals(Status.SATISFIABLE, check);
    assertEquals(z3Context.mkInt(5), z3Solver.getModel().eval(a, true));
    assertEquals(z3Context.mkInt(5), z3Solver.getModel().eval(b, true));
}
Also used : Status(com.microsoft.z3.Status) BoolExpr(com.microsoft.z3.BoolExpr) BoolExpr(com.microsoft.z3.BoolExpr) Expr(com.microsoft.z3.Expr) Test(org.junit.Test)

Example 72 with Status

use of com.arbindo.mimock.manage.mimocks.models.v1.Status in project bmoth by hhu-stups.

the class Z3ConnectionTest method testQuantifiedFormula.

@Test
public void testQuantifiedFormula() {
    Expr a = z3Context.mkIntConst("a");
    Expr b = z3Context.mkIntConst("b");
    BoolExpr constraint = z3Context.mkAnd(z3Context.mkEq(a, b), z3Context.mkEq(a, z3Context.mkInt(5)), z3Context.mkEq(b, z3Context.mkInt(7)));
    constraint = z3Context.mkExists(new Expr[] { a, b }, constraint, 1, null, null, null, null);
    z3Solver.add(constraint);
    Status check = z3Solver.check();
    assertEquals(Status.UNSATISFIABLE, check);
}
Also used : Status(com.microsoft.z3.Status) BoolExpr(com.microsoft.z3.BoolExpr) BoolExpr(com.microsoft.z3.BoolExpr) Expr(com.microsoft.z3.Expr) Test(org.junit.Test)

Example 73 with Status

use of com.arbindo.mimock.manage.mimocks.models.v1.Status in project bmoth by hhu-stups.

the class BooleanFormulaEvaluationTest method testSimpleBooleanFormula.

@Test
public void testSimpleBooleanFormula() throws Exception {
    String formula = "x = TRUE & y = FALSE";
    // getting the translated z3 representation of the formula
    BoolExpr constraint = FormulaToZ3Translator.translatePredicate(formula, z3Context);
    z3Solver.add(constraint);
    Status check = z3Solver.check();
    Expr x = z3Context.mkBoolConst("x");
    Expr y = z3Context.mkBoolConst("y");
    assertEquals(Status.SATISFIABLE, check);
    assertEquals(z3Context.mkBool(true), z3Solver.getModel().eval(x, true));
    assertEquals(z3Context.mkBool(false), z3Solver.getModel().eval(y, false));
}
Also used : Status(com.microsoft.z3.Status) BoolExpr(com.microsoft.z3.BoolExpr) BoolExpr(com.microsoft.z3.BoolExpr) Expr(com.microsoft.z3.Expr) Test(org.junit.Test)

Example 74 with Status

use of com.arbindo.mimock.manage.mimocks.models.v1.Status in project bmoth by hhu-stups.

the class SetFormulaEvaluationTest method testnoSubset.

@Test
public void testnoSubset() {
    String formula = "{1} /<: {1}";
    BoolExpr constraint = FormulaToZ3Translator.translatePredicate(formula, z3Context);
    z3Solver.add(constraint);
    Status check = z3Solver.check();
    assertEquals(Status.UNSATISFIABLE, check);
}
Also used : Status(com.microsoft.z3.Status) BoolExpr(com.microsoft.z3.BoolExpr) Test(org.junit.Test)

Example 75 with Status

use of com.arbindo.mimock.manage.mimocks.models.v1.Status in project bmoth by hhu-stups.

the class SetFormulaEvaluationTest method testIntersection2.

@Test
public void testIntersection2() {
    String formula = "{1} /\\ {2,3} = {2}";
    BoolExpr constraint = FormulaToZ3Translator.translatePredicate(formula, z3Context);
    z3Solver.add(constraint);
    Status check = z3Solver.check();
    assertEquals(Status.UNSATISFIABLE, check);
}
Also used : Status(com.microsoft.z3.Status) BoolExpr(com.microsoft.z3.BoolExpr) Test(org.junit.Test)

Aggregations

Status (com.microsoft.z3.Status)63 BoolExpr (com.microsoft.z3.BoolExpr)55 Test (org.junit.Test)49 Test (org.junit.jupiter.api.Test)21 JsonMapper.convertObjectToJsonString (com.arbindo.mimock.helpers.general.JsonMapper.convertObjectToJsonString)13 RandomDataGenerator.generateRandomAlphabeticString (com.arbindo.mimock.helpers.general.RandomDataGenerator.generateRandomAlphabeticString)13 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)13 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)13 WebMvcTest (org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest)13 MvcResult (org.springframework.test.web.servlet.MvcResult)13 Mock (com.arbindo.mimock.entities.Mock)12 Expr (com.microsoft.z3.Expr)10 IOException (java.io.IOException)10 MockRequest (com.arbindo.mimock.manage.mimocks.models.v1.MockRequest)9 ProcessedMockRequest (com.arbindo.mimock.manage.mimocks.models.v1.ProcessedMockRequest)9 Status (com.arbindo.mimock.manage.mimocks.models.v1.Status)9 Context (com.microsoft.z3.Context)9 Pageable (org.springframework.data.domain.Pageable)9 HttpStatus (org.springframework.http.HttpStatus)9 MockMultipartFile (org.springframework.mock.web.MockMultipartFile)9