class ShouldHaveQuery extends BasicErrorMessageFactory {

  private static final String SHOULD_HAVE_QUERY = "%nExpecting query of%n  <%s>%nto be:%n  <%s>%nbut was:%n  <%s>";
  private static final String SHOULD_NOT_HAVE_QUERY = "%nExpecting actual:%n  <%s>%nnot to have a query but had:%n  <%s>";

  public static ErrorMessageFactory shouldHaveQuery(URI actual, String expectedQuery) {
    return expectedQuery == null ? new ShouldHaveQuery(actual) : new ShouldHaveQuery(actual, expectedQuery);
  }

  private ShouldHaveQuery(URI actual, String expectedQuery) {
    super(SHOULD_HAVE_QUERY, actual, expectedQuery, actual.getQuery());
  }

  private ShouldHaveQuery(URI actual) {
    super(SHOULD_NOT_HAVE_QUERY, actual, actual.getQuery());
  }

  public static ErrorMessageFactory shouldHaveQuery(URL actual, String expectedQuery) {<FILL_FUNCTION_BODY>}

  private ShouldHaveQuery(URL actual, String expectedQuery) {
    super(SHOULD_HAVE_QUERY, actual, expectedQuery, actual.getQuery());
  }

  private ShouldHaveQuery(URL actual) {
    super(SHOULD_NOT_HAVE_QUERY, actual, actual.getQuery());
  }
}

    return expectedQuery == null ? new ShouldHaveQuery(actual) : new ShouldHaveQuery(actual, expectedQuery);
  
<methods>public transient void <init>(java.lang.String, java.lang.Object[]) ,public java.lang.String create(org.assertj.core.description.Description, org.assertj.core.presentation.Representation) ,public java.lang.String create(org.assertj.core.description.Description) ,public java.lang.String create() ,public boolean equals(java.lang.Object) ,public int hashCode() ,public java.lang.String toString() <variables>protected final non-sealed java.lang.Object[] arguments,protected final non-sealed java.lang.String format,org.assertj.core.error.MessageFormatter formatter