@Test
public void inferRolesOnExampleTopology() throws JsonProcessingException {
SortedSet<NodeRoleDimension> roles =
new InferRoles(EXAMPLE_NODES, EXAMPLE_TOPOLOGY).inferRoles();
assertThat(BatfishObjectMapper.writePrettyString(roles), roles, hasSize(2));
NodeRoleDimension d1 = roles.first();
assertThat(
d1.createRoleNodesMap(EXAMPLE_NODES),
equalTo(
ImmutableMap.of(
"border",
filterSet(EXAMPLE_NODES, s -> s.contains("border")),
"core",
filterSet(EXAMPLE_NODES, s -> s.contains("core")),
"dept",
filterSet(EXAMPLE_NODES, s -> s.contains("dept")),
"dist",
filterSet(EXAMPLE_NODES, s -> s.contains("dist")))));
NodeRoleDimension d2 = roles.last();
assertThat(
d2.createRoleNodesMap(EXAMPLE_NODES),
equalTo(ImmutableMap.of("as", filterSet(EXAMPLE_NODES, s -> s.startsWith("as")))));
}
}