test_class.file: dbdeploy-core/src/test/java/com/dbdeploy/scripts/FilenameParserTest.java
test_class.identifier: FilenameParserTest
test_case.body: @Test
  	public void canParseAnyFilenameThatStartsWithANumber() throws Exception {
  		FilenameParser parser = new FilenameParser();
  		assertEquals(1L, parser.extractIdFromFilename("0001_a_filename.txt"));
  		assertEquals(1L, parser.extractIdFromFilename("1_a_filename.txt"));
  		assertEquals(1L, parser.extractIdFromFilename("1 a filename.txt"));
  		assertEquals(1L, parser.extractIdFromFilename("1.txt"));
  		assertEquals(123L, parser.extractIdFromFilename("00123_something.txt"));
  	}
test_case.class_method_signature: FilenameParserTest.canParseAnyFilenameThatStartsWithANumber()
test_case.full_signature: @Test public void canParseAnyFilenameThatStartsWithANumber()
test_case.identifier: canParseAnyFilenameThatStartsWithANumber
test_case.invocations: assertEquals extractIdFromFilename assertEquals extractIdFromFilename assertEquals extractIdFromFilename assertEquals extractIdFromFilename assertEquals extractIdFromFilename
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void canParseAnyFilenameThatStartsWithANumber()
focal_class.declarator: pattern
focal_class.modifier: private final
focal_class.original_string: private final Pattern pattern;
focal_class.type: Pattern
focal_class.var_name: pattern
focal_class.file: dbdeploy-core/src/main/java/com/dbdeploy/scripts/FilenameParser.java
focal_class.identifier: FilenameParser
focal_class.class_method_signature: FilenameParser.FilenameParser()
focal_class.full_signature: public  FilenameParser()
focal_class.identifier: FilenameParser
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  FilenameParser()
focal_class.class_method_signature: FilenameParser.extractIdFromFilename(String filename)
focal_class.full_signature: public long extractIdFromFilename(String filename)
focal_class.identifier: extractIdFromFilename
focal_class.modifiers: public
focal_class.parameters: (String filename)
focal_class.return: long
focal_class.signature: long extractIdFromFilename(String filename)
focal_method.body: public long extractIdFromFilename(String filename) throws UnrecognisedFilenameException {
  		Matcher matches = pattern.matcher(filename);
  		if (!matches.matches() || matches.groupCount() != 1)
  			throw new UnrecognisedFilenameException("Could not extract a change script number from filename: " + filename);
  		
  		return Long.parseLong(matches.group(1));
  	 }
focal_method.class_method_signature: FilenameParser.extractIdFromFilename(String filename)
focal_method.full_signature: public long extractIdFromFilename(String filename)
focal_method.identifier: extractIdFromFilename
focal_method.invocations: matcher matches groupCount parseLong group
focal_method.modifiers: public
focal_method.parameters: (String filename)
focal_method.return: long
focal_method.signature: long extractIdFromFilename(String filename)