@Test public void testBDDTransitions_PostInVrf_outEdges() { Set<StateExpr> srcPostInVrfOutStates = _graph.getForwardEdgeMap().get(_srcPostInVrf).keySet(); Set<StateExpr> dstPostInVrfOutStates = _graph.getForwardEdgeMap().get(_dstPostInVrf).keySet(); assertThat( srcPostInVrfOutStates, containsInAnyOrder( _link1SrcAccept, _link2SrcAccept, new NodeDropNoRoute(_srcName), _srcPreOutVrf)); assertThat( dstPostInVrfOutStates, containsInAnyOrder( _link1DstAccept, _link2DstAccept, _dstIface1Accept, _dstIface2Accept, new NodeDropNoRoute(_dstName), _dstPreOutVrf)); List<BDD> srcOutBdds = srcPostInVrfOutStates.stream() .map(outState -> bddTransition(_srcPostInVrf, outState)) .collect(ImmutableList.toImmutableList()); List<BDD> dstOutBdds = dstPostInVrfOutStates.stream() .map(outState -> bddTransition(_dstPostInVrf, outState)) .collect(ImmutableList.toImmutableList()); testMutuallyExclusive(srcOutBdds); testMutuallyExclusive(dstOutBdds); }
public Map<StateExpr, Map<StateExpr, Transition>> getForwardEdgeMap() { return _forwardEdgeTable.rowMap(); }
BDDReachabilityAnalysis { public Map<StateExpr, Map<StateExpr, Transition>> getForwardEdgeMap() { return _forwardEdgeTable.rowMap(); } }
BDDReachabilityAnalysis { public Map<StateExpr, Map<StateExpr, Transition>> getForwardEdgeMap() { return _forwardEdgeTable.rowMap(); } BDDReachabilityAnalysis(
      BDDPacket packet,
      Set<StateExpr> ingressLocationStates,
      Stream<Edge> edges,
      BDD queryHeaderSpaceBdd); }
BDDReachabilityAnalysis { public Map<StateExpr, Map<StateExpr, Transition>> getForwardEdgeMap() { return _forwardEdgeTable.rowMap(); } BDDReachabilityAnalysis(
      BDDPacket packet,
      Set<StateExpr> ingressLocationStates,
      Stream<Edge> edges,
      BDD queryHeaderSpaceBdd); Map<StateExpr, BDD> computeReverseReachableStates(Map<StateExpr, BDD> roots); Map<StateExpr, BDD> computeForwardReachableStates(); Map<StateExpr, BDD> computeForwardReachableStates(
      Map<StateExpr, BDD> initialReachableStates); BDDPacket getBDDPacket(); ImmutableSet<StateExpr> getIngressLocationStates(); Map<IngressLocation, BDD> getIngressLocationReachableBDDs(); Map<IngressLocation, BDD> getIngressLocationReachableBDDs(Map<StateExpr, BDD> roots); Map<Location, BDD> getSrcLocationBdds(); Map<StateExpr, Map<StateExpr, Transition>> getForwardEdgeMap(); Table<StateExpr, StateExpr, Transition> getForwardEdgeTable(); }
BDDReachabilityAnalysis { public Map<StateExpr, Map<StateExpr, Transition>> getForwardEdgeMap() { return _forwardEdgeTable.rowMap(); } BDDReachabilityAnalysis(
      BDDPacket packet,
      Set<StateExpr> ingressLocationStates,
      Stream<Edge> edges,
      BDD queryHeaderSpaceBdd); Map<StateExpr, BDD> computeReverseReachableStates(Map<StateExpr, BDD> roots); Map<StateExpr, BDD> computeForwardReachableStates(); Map<StateExpr, BDD> computeForwardReachableStates(
      Map<StateExpr, BDD> initialReachableStates); BDDPacket getBDDPacket(); ImmutableSet<StateExpr> getIngressLocationStates(); Map<IngressLocation, BDD> getIngressLocationReachableBDDs(); Map<IngressLocation, BDD> getIngressLocationReachableBDDs(Map<StateExpr, BDD> roots); Map<Location, BDD> getSrcLocationBdds(); Map<StateExpr, Map<StateExpr, Transition>> getForwardEdgeMap(); Table<StateExpr, StateExpr, Transition> getForwardEdgeTable();  }