net.amygdalum.extensions.assertj.conditions.CompoundDescription Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of assertj-extensions Show documentation
Show all versions of assertj-extensions Show documentation
Assertj Extensions (advanced testing of conventions, iterables, strings, exceptions)
The newest version!
package net.amygdalum.extensions.assertj.conditions;
import static java.util.stream.Collectors.joining;
import java.util.LinkedHashMap;
import java.util.Map;
import org.assertj.core.description.Description;
public class CompoundDescription extends Description {
private Description descriptionHeadline;
private Map componentDescriptions;
public CompoundDescription(Description descriptionHeadline) {
this.descriptionHeadline = descriptionHeadline;
this.componentDescriptions = new LinkedHashMap<>();
}
public CompoundDescription addComponent(String key, Description description) {
componentDescriptions.put(key, description);
return this;
}
public String indent(String value) {
return value.replace("\n", "\n\t");
}
@Override
public String value() {
return descriptionHeadline.value()
+ componentDescriptions.entrySet().stream()
.map(entry -> indent(entry.getKey() + ": " + entry.getValue().value()))
.collect(joining("\n\t", " {\n\t", "\n}"));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy