### Question:
ValidationResults implements Serializable { public void add(ValidationResult result, Object... msgArgs) { items.add(new ValidationItem(result, crumbs, msgArgs)); if (result.severity().gt(validationSeverity)) { validationSeverity = result.severity(); } }  void add(ValidationResult result, Object... msgArgs); void add(CrumbInfo crumbInfo, ValidationResult result, Object... msgArgs); void add(ValidationResults results); void add(Collection<CrumbInfo> parentCrumbs, ValidationResults results); void add(Collection<ValidationResults.CrumbInfo> parentCrumbs, Collection<ValidationResults.ValidationItem> resultItems); Collection<CrumbInfo> crumbs(); List<ValidationItem> items(); List<ValidationItem> items(ValidationSeverity severity); ValidationSeverity severity(); void withCrumb(CrumbInfo crumbInfo, Runnable code); boolean isValid(); int size(); @Override String toString();  }### Answer:
@Test public void add() { ValidationResults results = new ValidationResults(); results.add(new ValidationResult(ValidationSeverity.INFO, 1, "info")); results.add(new ValidationResults.CrumbInfo("crumb", false), new ValidationResult(ValidationSeverity.WARNING, 2, "warn")); ValidationResults others = new ValidationResults(); others.add(new ValidationResult(ValidationSeverity.ERROR, 3, "error")); others.add(new ValidationResult(ValidationSeverity.INFO, 4, "info2")); results.add(others); assertEquals(4, results.size()); assertEquals(4, results.items().size()); assertEquals(ValidationSeverity.ERROR, results.severity()); assertFalse(results.isValid()); }