### Question:
Step implements DeepComparable, Serializable { @Override public boolean deepEquals(Object o) { if (this == o) { return true; } if (!(o instanceof Step)) { return false; } Step step = (Step) o; if (this.id != null ? !this.id.equals(step.id) : step.id != null) { return false; } if (this.metadataId != null ? !this.metadataId.equals(step.metadataId) : step.id != null) { return false; } if (this.name != null ? !this.name.equals(step.name) : step.name != null) { return false; } if (this.type != null ? !this.type.equals(step.type) : step.type != null) { return false; } if (this.description != null ? !this.description.equals(step.description) : step.description != null) { return false; } return this.config != null ? this.config.equals(step.config) : step.config == null; } Step(); static Step of(String id, String metadataId); Object getConfigParam(String o); boolean forceAutoDetectSchema(); Schema getBeamSchema(); @Override boolean deepEquals(Object o); @Override boolean equals(Object o); @Override int hashCode(); static boolean deepEquals(Iterable<Step> steps, Iterable<Step> otherSteps); @Override String toString(); static final String FORCE_AUTODETECT_SCHEMA; public String id; public String metadataId; public String name; public String type; public String description; public Dataframe dataframe; public Map<String, Object> config; }### Answer:
@Test public void deepEquals() { String id = UUID.randomUUID().toString(); Step one = getStep(id, "B"); Step two = getStep(id, "C"); Assert.assertEquals("same values same step", false, one.deepEquals(two)); Assert.assertEquals("same id <=> equals step", true, one.equals(two)); }