### Question:
CollisionFormula extends NameableAbstract { @Override public String toString() { return new StringBuilder(MINIMUM_LENGTH).append(getClass().getSimpleName()) .append(" (name=") .append(getName()) .append(")") .append(System.lineSeparator()) .append(Constant.TAB) .append(range) .append(System.lineSeparator()) .append(Constant.TAB) .append(function) .append(System.lineSeparator()) .append(Constant.TAB) .append(constraint) .append(System.lineSeparator()) .toString(); } CollisionFormula(String name,
                            CollisionRange range,
                            CollisionFunction function,
                            CollisionConstraint constraint); CollisionRange getRange(); CollisionFunction getFunction(); CollisionConstraint getConstraint(); @Override String toString();  }### Answer:
@Test void testToString() { assertEquals("CollisionFormula (name=formula)" + System.lineSeparator() + Constant.TAB + "CollisionRange (output=X, minX=0, maxX=1, minY=2, maxY=3)" + System.lineSeparator() + Constant.TAB + "CollisionFunctionLinear (a=1.0, b=2.0)" + System.lineSeparator() + Constant.TAB + "CollisionConstraint{NORTH=[], NORTH_EAST=[], EAST=[], SOUTH_EAST=[], " + "SOUTH=[], SOUTH_WEST=[], WEST=[], NORTH_WEST=[]}" + System.lineSeparator(), formula.toString()); }