DartAnalyzerReportIssue { @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; DartAnalyzerReportIssue that = (DartAnalyzerReportIssue) o; return lineNumber == that.lineNumber && Objects.equals(ruleId, that.ruleId) && Objects.equals(message, that.message) && Objects.equals(filePath, that.filePath); } DartAnalyzerReportIssue(String ruleId, String message, String filePath, int lineNumber); String getRuleId(); String getMessage(); String getFilePath(); int getLineNumber(); @Override boolean equals(Object o); @Override int hashCode();  }
@Test public void equals() { DartAnalyzerReportIssue issue1 = new DartAnalyzerReportIssue("1", "msg", "/test/path", 20); DartAnalyzerReportIssue issue2 = new DartAnalyzerReportIssue("1", "msg", "/test/path", 20); assertThat(issue1).isEqualTo(issue2); }