test_class.declarator: prettyPrinter = new PrettyPrinter()
test_class.original_string: PrettyPrinter prettyPrinter = new PrettyPrinter();
test_class.type: PrettyPrinter
test_class.var_name: prettyPrinter
test_class.file: dbdeploy-core/src/test/java/com/dbdeploy/PrettyPrinterTest.java
test_class.identifier: PrettyPrinterTest
test_case.body: @Test
  	public void shouldDisplayNonRangedNumbersAsSeperateEntities() throws Exception {
  		assertEquals("1, 3, 5", prettyPrinter.format(Arrays.asList(1L, 3L, 5L)));
  	}
test_case.class_method_signature: PrettyPrinterTest.shouldDisplayNonRangedNumbersAsSeperateEntities()
test_case.full_signature: @Test public void shouldDisplayNonRangedNumbersAsSeperateEntities()
test_case.identifier: shouldDisplayNonRangedNumbersAsSeperateEntities
test_case.invocations: assertEquals format asList
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldDisplayNonRangedNumbersAsSeperateEntities()
focal_class.file: dbdeploy-core/src/main/java/com/dbdeploy/PrettyPrinter.java
focal_class.identifier: PrettyPrinter
focal_class.class_method_signature: PrettyPrinter.format(List<Long> appliedChanges)
focal_class.full_signature: public String format(List<Long> appliedChanges)
focal_class.identifier: format
focal_class.modifiers: public
focal_class.parameters: (List<Long> appliedChanges)
focal_class.return: String
focal_class.signature: String format(List<Long> appliedChanges)
focal_class.class_method_signature: PrettyPrinter.appendRange(StringBuilder builder, Long lastRangeStart, Long lastNumber)
focal_class.full_signature: private void appendRange(StringBuilder builder, Long lastRangeStart, Long lastNumber)
focal_class.identifier: appendRange
focal_class.modifiers: private
focal_class.parameters: (StringBuilder builder, Long lastRangeStart, Long lastNumber)
focal_class.return: void
focal_class.signature: void appendRange(StringBuilder builder, Long lastRangeStart, Long lastNumber)
focal_class.class_method_signature: PrettyPrinter.appendWithPossibleComma(StringBuilder builder, Object o)
focal_class.full_signature: private void appendWithPossibleComma(StringBuilder builder, Object o)
focal_class.identifier: appendWithPossibleComma
focal_class.modifiers: private
focal_class.parameters: (StringBuilder builder, Object o)
focal_class.return: void
focal_class.signature: void appendWithPossibleComma(StringBuilder builder, Object o)
focal_class.class_method_signature: PrettyPrinter.formatChangeScriptList(List<ChangeScript> changeScripts)
focal_class.full_signature: public String formatChangeScriptList(List<ChangeScript> changeScripts)
focal_class.identifier: formatChangeScriptList
focal_class.modifiers: public
focal_class.parameters: (List<ChangeScript> changeScripts)
focal_class.return: String
focal_class.signature: String formatChangeScriptList(List<ChangeScript> changeScripts)
focal_method.body: public String format(List<Long> appliedChanges) {
  		if (appliedChanges.isEmpty()) {
  			return "(none)";
  		}
  		
  		StringBuilder builder = new StringBuilder();
  		
  		Long lastRangeStart = null;
  		Long lastNumber = null;
  		
  		for (Long thisNumber : appliedChanges) {
  			if (lastNumber == null) {
  				// first in loop
  				lastNumber = thisNumber;
  				lastRangeStart = thisNumber;
  			} else if (thisNumber == lastNumber + 1) {
  				// continuation of current range
  				lastNumber = thisNumber;
  			} else {
  				// doesn't fit into last range - so output the old range and
  				// start a new one
  				appendRange(builder, lastRangeStart, lastNumber);
  				lastNumber = thisNumber;
  				lastRangeStart = thisNumber;
  			}
  		}
  
  		appendRange(builder, lastRangeStart, lastNumber);
  		return builder.toString();
  	}
focal_method.class_method_signature: PrettyPrinter.format(List<Long> appliedChanges)
focal_method.full_signature: public String format(List<Long> appliedChanges)
focal_method.identifier: format
focal_method.invocations: isEmpty appendRange appendRange toString
focal_method.modifiers: public
focal_method.parameters: (List<Long> appliedChanges)
focal_method.return: String
focal_method.signature: String format(List<Long> appliedChanges)