Search in sources :

Example 26 with Expr

use of com.microsoft.z3.Expr in project batfish by batfish.

the class BoolExprTransformerTest method testVisitRangeMatchExpr.

@Test
public void testVisitRangeMatchExpr() {
    BooleanExpr expr = RangeMatchExpr.fromSubRanges(BasicHeaderField.DSCP, BasicHeaderField.DSCP.getSize(), ImmutableSet.of(new SubRange(1, 3), new SubRange(5, 7)));
    assertThat(toBoolExpr(expr, _input, _nodContext), instanceOf(BoolExpr.class));
}
Also used : BoolExpr(com.microsoft.z3.BoolExpr) BoolExprTransformer.toBoolExpr(org.batfish.z3.expr.visitors.BoolExprTransformer.toBoolExpr) SubRange(org.batfish.datamodel.SubRange) BooleanExpr(org.batfish.z3.expr.BooleanExpr) Test(org.junit.Test)

Example 27 with Expr

use of com.microsoft.z3.Expr in project batfish by batfish.

the class Z3ContextJob method computeSmtConstraintsViaNod.

protected BoolExpr computeSmtConstraintsViaNod(NodProgram program, boolean negate) {
    Fixedpoint fix = mkFixedpoint(program, true);
    Expr answer = answerFixedPoint(fix, program);
    return getSolverInput(answer, program, negate);
}
Also used : BitVecExpr(com.microsoft.z3.BitVecExpr) BoolExpr(com.microsoft.z3.BoolExpr) Expr(com.microsoft.z3.Expr) Fixedpoint(com.microsoft.z3.Fixedpoint)

Example 28 with Expr

use of com.microsoft.z3.Expr in project bmoth by hhu-stups.

the class StateTest method testGetStateConstraint.

@Test
public void testGetStateConstraint() {
    HashMap<String, Expr> map1 = new HashMap<>();
    map1.put("x", z3Context.mkInt(11));
    map1.put("y", z3Context.mkInt(12));
    State state1 = new State(map1);
    State state2 = new State(new HashMap<>());
    assertEquals("(and (= x 11) (= y 12))", state1.getStateConstraint(z3Context).toString());
    assertNull(state2.getStateConstraint(z3Context));
}
Also used : Expr(com.microsoft.z3.Expr) HashMap(java.util.HashMap) State(de.bmoth.modelchecker.State) Test(org.junit.Test)

Example 29 with Expr

use of com.microsoft.z3.Expr in project bmoth by hhu-stups.

the class StateTest method testToString.

@Test
public void testToString() throws Exception {
    HashMap<String, Expr> map = new HashMap<>();
    map.put("z", z3Context.mkInt(13));
    map.put("x", z3Context.mkInt(11));
    map.put("y", z3Context.mkInt(12));
    map.put("a", z3Context.mkInt(-200));
    State state = new State(map);
    assertEquals("{a=-200, x=11, y=12, z=13}", state.toString());
}
Also used : Expr(com.microsoft.z3.Expr) HashMap(java.util.HashMap) State(de.bmoth.modelchecker.State) Test(org.junit.Test)

Example 30 with Expr

use of com.microsoft.z3.Expr in project bmoth by hhu-stups.

the class StateTest method testStateEquals.

@Test
public void testStateEquals() throws Exception {
    HashMap<String, Expr> map1 = new HashMap<>();
    HashMap<String, Expr> map2 = new HashMap<>();
    map1.put("x", z3Context.mkInt(11));
    map2.put("x", z3Context.mkInt(11));
    State state1 = new State(map1);
    State state2 = new State(map2);
    assertEquals(state1, state2);
    assertEquals(state1.hashCode(), state2.hashCode());
}
Also used : Expr(com.microsoft.z3.Expr) HashMap(java.util.HashMap) State(de.bmoth.modelchecker.State) Test(org.junit.Test)

Aggregations

BoolExpr (com.microsoft.z3.BoolExpr)28 Expr (com.microsoft.z3.Expr)27 Test (org.junit.Test)19 HashMap (java.util.HashMap)12 Status (com.microsoft.z3.Status)11 BitVecExpr (com.microsoft.z3.BitVecExpr)10 ArithExpr (com.microsoft.z3.ArithExpr)8 CommunityVar (org.batfish.symbolic.CommunityVar)6 State (de.bmoth.modelchecker.State)5 Ip (org.batfish.datamodel.Ip)5 ArrayList (java.util.ArrayList)4 List (java.util.List)4 Map (java.util.Map)4 BatfishException (org.batfish.common.BatfishException)4 Prefix (org.batfish.datamodel.Prefix)4 BooleanExpr (org.batfish.datamodel.routing_policy.expr.BooleanExpr)4 Protocol (org.batfish.symbolic.Protocol)4 HashSet (java.util.HashSet)3 Collectors (java.util.stream.Collectors)3 MatchProtocol (org.batfish.datamodel.routing_policy.expr.MatchProtocol)3