org.junit.contrib.theories.PotentialAssignment Maven / Gradle / Ivy
package org.junit.contrib.theories;
import static java.lang.String.format;
public abstract class PotentialAssignment {
public static class CouldNotGenerateValueException extends Exception {
private static final long serialVersionUID = 1L;
public CouldNotGenerateValueException(Throwable e) {
super(e);
}
}
public static PotentialAssignment forValue(final String name, final Object value) {
return new PotentialAssignment() {
@Override public Object getValue() {
return value;
}
@Override public String toString() {
return format("[%s]", value);
}
@Override public String getDescription() {
String valueString;
if (value == null) {
valueString = "null";
} else {
try {
valueString = format("\"%s\"", value);
} catch (Throwable e) {
valueString = format("[toString() threw %s: %s]", e.getClass().getSimpleName(), e.getMessage());
}
}
return format("%s ", valueString, name);
}
};
}
public abstract Object getValue() throws CouldNotGenerateValueException;
public abstract String getDescription() throws CouldNotGenerateValueException;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy