### Question:
WeakSubjectivityConfig { @Override public boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; final WeakSubjectivityConfig that = (WeakSubjectivityConfig) o; return Objects.equals(safetyDecay, that.safetyDecay) && Objects.equals(weakSubjectivityCheckpoint, that.weakSubjectivityCheckpoint) && Objects.equals(suppressWSPeriodChecksUntilEpoch, that.suppressWSPeriodChecksUntilEpoch); } private  WeakSubjectivityConfig(
      UInt64 safetyDecay,
      Optional<Checkpoint> weakSubjectivityCheckpoint,
      final Optional<UInt64> suppressWSPeriodChecksUntilEpoch); static WeakSubjectivityConfig defaultConfig(); static WeakSubjectivityConfig from(final WeakSubjectivityState state); static Builder builder(); WeakSubjectivityConfig updated(final Consumer<Builder> updater); Optional<Checkpoint> getWeakSubjectivityCheckpoint(); Optional<UInt64> getSuppressWSPeriodChecksUntilEpoch(); UInt64 getSafetyDecay(); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString(); static UInt64 DEFAULT_SAFETY_DECAY; }### Answer:
@Test public void equals() { WeakSubjectivityConfig configA = WeakSubjectivityConfig.defaultConfig(); WeakSubjectivityConfig configB = WeakSubjectivityConfig.builder().weakSubjectivityCheckpoint(checkpoint).build(); assertThat(configA).isEqualTo(configA); assertThat(configB).isEqualTo(configB); assertThat(configA).isNotEqualTo(configB); }