public static SqlArgument of(final SqlType type) {
    return new SqlArgument(type, null, null);
  }
@SuppressWarnings("UnstableApiUsage")
  @Test
  public void shouldImplementHashCodeAndEqualsProperly() {
    new EqualsTester()
        .addEqualityGroup(SqlArgument.of(SqlArray.of(SqlTypes.STRING)), SqlArgument.of(SqlArray.of(SqlTypes.STRING)))
        .addEqualityGroup(
            SqlArgument.of(SqlLambdaResolved.of(ImmutableList.of(SqlTypes.STRING), SqlTypes.INTEGER)),
            SqlArgument.of(SqlLambdaResolved.of(ImmutableList.of(SqlTypes.STRING), SqlTypes.INTEGER)))
        .addEqualityGroup(
            SqlArgument.of(SqlLambda.of(2)),
            SqlArgument.of(SqlLambda.of(2)))
        .addEqualityGroup(
            SqlArgument.of(SqlLambda.of(4)))
        .addEqualityGroup(SqlArgument.of(null, null), SqlArgument.of(null, null))
        .addEqualityGroup(SqlArgument.of(SqlIntervalUnit.INSTANCE), SqlArgument.of(SqlIntervalUnit.INSTANCE))
        .testEquals();
  }