### Question:
Processors implements Elements, Types { public TypeElement getTypeElement(Class<?> clazz) { return getTypeElement(clazz.getCanonicalName()); } @Inject  Processors(ProcessorContext processorContext); TypeElement getTypeElement(Class<?> clazz); DeclaredType getDeclaredType(Class<?> type, Class<?>... typeArguments); boolean isSameType(TypeMirror typeMirror, Class<?> type, Class<?>... typeArguments); ExecutableElement getMethodByName(TypeElement typeElement, String methodName); TypeMirror getSupertypeWithErasureSameAs(TypeMirror typeMirror, TypeMirror supertype);  }### Answer:
@Test void getTypeElement_class_returnsTypeByCanonicalName() { String canonicalName = ProcessorsTest.class.getCanonicalName(); when(elementsMock.getTypeElement(canonicalName)).thenReturn(typeElementMock); TypeElement typeElement = classUnderTest.getTypeElement(ProcessorsTest.class); assertThat(typeElement).isEqualTo(typeElementMock); verify(elementsMock).getTypeElement(canonicalName); }