SimpleViolation implements Violation { @Override public String toString() { return "SimpleViolation{" + "severity=" + severity + ", description='" + description + '\'' + ", packages=" + packages + '}'; } SimpleViolation(final Severity severity, final String description, final PackageId... packages);  SimpleViolation(final Severity severity, final String description, final List<PackageId> packages); static Builder builder(); static Builder builder(final ResourceBundle resourceBundle); @Override Severity getSeverity(); @Override Collection<PackageId> getPackages(); @Override String getDescription(); static SimpleViolation fromReported(final Violation violation); static SimpleViolation fromJson(final JsonObject jsonViolation); @Override String toString(); @Override boolean equals(final Object o); @Override int hashCode();  }
@Test public void testToString() { final Severity severity = Severity.MINOR; final PackageId packId = PackageId.fromString("my_pack"); final String description = "some description"; final Violation violation = new Violation() { @Override public Severity getSeverity() { return severity; } @Override public Collection<PackageId> getPackages() { return Collections.singletonList(packId); } @Override public String getDescription() { return description; } }; final JsonObject json = violation.toJson(); final SimpleViolation simpleViolation = SimpleViolation.fromJson(json); assertTrue("my_pack in toString", simpleViolation.toString().contains("my_pack")); assertTrue("description in toString", simpleViolation.toString().contains(description)); }