### Question:
AbstractDocument implements Document { @Override public String toString() { var builder = new StringBuilder(); builder.append(getClass().getName()).append("["); properties.forEach((key, value) -> builder.append("[").append(key).append(" : ").append(value) .append("]")); builder.append("]"); return builder.toString(); } protected  AbstractDocument(Map<String, Object> properties); @Override Void put(String key, Object value); @Override Object get(String key); @Override Stream<T> children(String key, Function<Map<String, Object>, T> constructor); @Override String toString();  }### Answer:
@Test public void shouldIncludePropsInToString() { var props = Map.of(KEY, (Object) VALUE); var document = new DocumentImplementation(props); assertTrue(document.toString().contains(KEY)); assertTrue(document.toString().contains(VALUE)); }