@Test
void throwsExceptionWhenUnknownFilterIdSupplied() {

  Node root = new Node.Builder()
    .id("http://purl.obolibrary.org/obo/HP_0000001")
    .label("root")
    .type(Node.RDFTYPES.CLASS)
    .build();
  Node unknown = new Node.Builder()
    .id("http://wibble.org/WIBBLE_0000000")
    .label("They have no word for 'fluffy'")
    .type(Node.RDFTYPES.CLASS)
    .build();
  List<Node> nodes = ImmutableList.of(root, unknown);
  Edge edge = new Edge.Builder().sub(unknown.getId()).pred("is_a").obj(root.getId()).build();
  List<Edge> edges = ImmutableList.of(edge);
  Graph graph = new Graph.Builder().nodes(nodes).edges(edges).build();
  GraphDocument graphDocument = new GraphDocument.Builder().graphs(ImmutableList.of(graph)).build();
  // WIBBLE id prefix is not in the default list, so add it here so that nodes and edges with this idspace are included
  CurieUtil curieUtil = CurieUtilBuilder.withDefaultsAnd(ImmutableMap.of("WIBBLE", "http://wibble.org/WIBBLE_"));
  assertThrows(PhenolRuntimeException.class,
    () -> OboGraphDocumentAdaptor.builder()
    .curieUtil(curieUtil)
    .wantedTermIdPrefixes(ImmutableSet.of("FROOD"))
    .build(graphDocument),
    "Unable to filter terms for prefix(s) [FROOD] as these not mapped. Add the mapping to CurieUtil.");
}