package joist.domain;
import java.util.ArrayList;
import java.util.List;
import joist.domain.builders.AbstractBuilder;
import joist.domain.validation.errors.ValidationError;
import joist.util.Join;
import org.junit.Assert;
public class ValidationAssert {
public static void assertValid(AbstractBuilder<?> builder) {
assertValid(builder.get());
}
public static void assertValid(DomainObject instance) {
List<ValidationError> errors = instance.validate();
Assert.assertEquals("", Join.lines(ValidationAssert.toMessages(errors)));
}
public static void assertErrors(AbstractBuilder<?> builder, String... messages) {
assertErrors(builder.get(), messages);
}
public static void assertErrors(DomainObject instance, String... messages) {
List<ValidationError> errors = instance.validate();
Assert.assertEquals(Join.lines(messages), Join.lines(ValidationAssert.toMessages(errors)));
}
private static List<String> toMessages(List<ValidationError> errors) {
List<String> messages = new ArrayList<String>();
for (ValidationError error : errors) {
messages.add(error.getMessage());
}
return messages;
}
}