### Question:
GraphName { @Override public String toString() { return name; } private  GraphName(String name); static GraphName newAnonymous(); static GraphName root(); static GraphName empty(); static GraphName of(String name); boolean isGlobal(); boolean isRoot(); boolean isEmpty(); boolean isPrivate(); boolean isRelative(); GraphName getParent(); GraphName getBasename(); GraphName toRelative(); GraphName toGlobal(); GraphName join(GraphName other); GraphName join(String other); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object obj); static final String VALID_GRAPH_NAME_REGEXP; static final Pattern VALID_GRAPH_NAME_PATTERN; }### Answer:
@Test public void testToString() { try { String[] canonical = { "abc", "ab7", "/abc", "/abc/bar", "/", "~garage", "~foo/bar" }; for (String c : canonical) { assertGraphNameEquals(c, GraphName.of(c)); } } catch (IllegalArgumentException e) { fail("These names should be valid" + e.toString()); } }