public static Builder newBuilder() {
    return new Builder();
  }
@Test
  public void equals_is_based_on_all_fields() {
    EvaluatedQualityGate.Builder builder = this.builder
      .setQualityGate(ONE_CONDITION_QUALITY_GATE)
      .setStatus(Level.ERROR)
      .addEvaluatedCondition(CONDITION_1, EvaluatedCondition.EvaluationStatus.ERROR, "foo");

    EvaluatedQualityGate underTest = builder.build();
    assertThat(underTest)
      .isEqualTo(builder.build())
      .isNotSameAs(builder.build())
      .isNotNull()
      .isNotEqualTo(new Object())
      .isNotEqualTo(builder.setQualityGate(new QualityGate("other_id", QUALITY_GATE_NAME, singleton(CONDITION_1))).build())
      .isNotEqualTo(builder.setQualityGate(ONE_CONDITION_QUALITY_GATE).setStatus(Level.OK).build())
      .isNotEqualTo(newBuilder()
        .setQualityGate(ONE_CONDITION_QUALITY_GATE)
        .setStatus(Level.ERROR)
        .addEvaluatedCondition(CONDITION_1, EvaluatedCondition.EvaluationStatus.OK, "foo")
        .build());
  }