### Question:
TargetMethodDefinition { public static Builder builder(Target<?> target) { return new Builder(target); } private  TargetMethodDefinition(Target<?> target,
      String name,
      String tag,
      TypeDefinition returnType,
      UriTemplate template,
      HttpMethod method,
      Collection<HttpHeader> headers,
      Map<Integer, TemplateParameter> parameterMap,
      Integer bodyArgumentIndex,
      boolean followRedirects,
      long connectTimeout,
      long readTimeout); static Builder builder(Target<?> target); static Builder from(TargetMethodDefinition targetMethodDefinition); String getName(); TypeDefinition getReturnType(); Optional<TemplateParameter> getTemplateParameter(Integer argumentIndex); String getTag(); Integer getBody(); String getUri(); Collection<HttpHeader> getHeaders(); Collection<TemplateParameter> getTemplateParameters(); HttpMethod getMethod(); boolean isFollowRedirects(); long getConnectTimeout(); long getReadTimeout(); RequestSpecification requestSpecification(Map<TemplateParameter, ?> variables); boolean isEmpty(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void equals_name_caseSensitive() { TargetMethodDefinition targetMethodDefinition = TargetMethodDefinition.builder(mock(Target.class)) .name("name") .build(); TargetMethodDefinition anotherDefinition = TargetMethodDefinition.builder(mock(Target.class)) .name("name") .build(); assertThat(targetMethodDefinition).isEqualTo(anotherDefinition); }
@Test void equals_itself() { TargetMethodDefinition targetMethodDefinition = TargetMethodDefinition.builder(mock(Target.class)) .build(); assertThat(targetMethodDefinition).isEqualTo(targetMethodDefinition); }
@Test void notEqual_toOtherTypes() { TargetMethodDefinition targetMethodDefinition = TargetMethodDefinition.builder(mock(Target.class)) .build(); assertThat(targetMethodDefinition).isNotEqualTo("A String"); }
@Test void notEqual_name_caseSensitive() { TargetMethodDefinition targetMethodDefinition = TargetMethodDefinition.builder(mock(Target.class)) .name("name") .build(); TargetMethodDefinition anotherDefinition = TargetMethodDefinition.builder(mock(Target.class)) .name("Name") .build(); assertThat(targetMethodDefinition).isNotEqualTo(anotherDefinition); }