### Question:
PotentialAnnotation { @Override public abstract String toString(); private  PotentialAnnotation(); static PotentialAnnotation none(); static PotentialAnnotation from(Key<?> key); PotentialAnnotation annotatedWith(Class<? extends Annotation> annotationType); PotentialAnnotation annotatedWith(Annotation annotation); abstract boolean hasAnnotation(); Key<T> getKey(Class<T> type); abstract Key<T> getKey(TypeLiteral<T> type); abstract T accept(Visitor<T> visitor); @Override abstract boolean equals(Object o); @Override abstract int hashCode(); @Override abstract String toString();  }### Answer:
@Test public void testToString() { assertThat(none.toString(), equalTo("[no annotation]")); assertThat(none.annotatedWith(Simple.class).toString(), equalTo("@com.tavianator.sangria.core.PotentialAnnotationTest.Simple")); assertThat(none.annotatedWith(nameAnnotation).toString(), equalTo("@com.google.inject.name.Named(value=name)")); }