moved TextReplacementListener and TextReplacer to separate files
TextReplacementRecorderTest should_return_no_replacements_when_constructed, should_record_a_text_replacement
TextReplacementRecorderTest should_record_all_replacements
OffsetConverterTest should_return_offset_in_the_first_line, should_return_offset_from_the_last_eol
OffsetConverterTest should_return_offset_from_the_last_eol_as_col
OffsetConverterTest should_fail_if_offset_is_greater_or_equal_the_length_of_the_source
OffsetConverterTest made stricter
SourceLocationConverterTest should_return_column_at_row_0_as_offset, should_sum_offset_from_previous_lines, should_fail_of_row_is_greater_than_the_number_of_lines
extracted extractFunctionInFile, fixed OffsetConverter
changed SourceSelection into SourceRange and vice versa; extractFunctionInFile takes SourceSelection
added alternative Scenario: Free function without arguments based on replacements
finished Scenario: Free function without arguments #2
removed old Scenario: Free function without arguments
changed to use replacements Scenario: Partial selection should work as full selection
changes to use replacements Scenario: Extracted function should be inserted before original function
changed to use replacements Scenario: Referenced local variables should be passed to the extracted function
changed to use replacements Scenario: Local variables used after but not declared in the selected block should not prevent the extraction
changed to use replacements Scenario: Method extraction should not add empty line at the end of method body when extracting a variable declaration. Newline should be added after extracted method call.
changed to use replacements Scenario: Extraction of local variables declared in and used after the selected block should prevent the extraction
changed to use replacements Scenario: Extract method should run more than once