@Test public void testQuestionDefaults() { SpecifiersReachabilityQuestion question = new SpecifiersReachabilityQuestion(); assertThat( question.getActions().getDispositions(), equalTo(ImmutableSortedSet.of(ACCEPTED, DELIVERED_TO_SUBNET, EXITS_NETWORK))); assertThat( question.getReachabilityParameters().getDestinationIpSpaceSpecifier(), equalTo(new ConstantIpSpaceSpecifier(UniverseIpSpace.INSTANCE))); assertThat( question.getReachabilityParameters().getSourceIpSpaceSpecifier(), equalTo(InferFromLocationIpSpaceSpecifier.INSTANCE)); assertThat( question.getPathConstraints().getTransitLocations(), equalTo(NoNodesNodeSpecifier.INSTANCE)); assertThat( question.getPathConstraints().getForbiddenLocations(), equalTo(NoNodesNodeSpecifier.INSTANCE)); assertThat(question.getIgnoreFilters(), equalTo(false)); }
ReachabilityParameters getReachabilityParameters() { PathConstraints pathConstraints = getPathConstraints(); return ReachabilityParameters.builder() .setActions( ImmutableSortedSet.copyOf( ReachabilityParameters.filterDispositions(getActions().getDispositions()))) .setDestinationIpSpaceSpecifier(getDestinationIpSpaceSpecifier()) .setFinalNodesSpecifier(pathConstraints.getEndLocation()) .setForbiddenTransitNodesSpecifier(pathConstraints.getForbiddenLocations()) .setHeaderSpace(getHeaderSpace()) .setIgnoreFilters(getIgnoreFilters()) .setInvertSearch(getInvertSearch()) .setRequiredTransitNodesSpecifier(pathConstraints.getTransitLocations()) .setSourceLocationSpecifier(pathConstraints.getStartLocation()) .setSourceIpSpaceSpecifier(getSourceIpSpaceSpecifier()) .setSpecialize(true) .build(); }