Add tests to verify sorting algorithm #244

This commit is contained in:
Petr Korolev
2015-06-11 13:21:18 +03:00
parent 22d1657fd4
commit 19eb03c54e
5 changed files with 99 additions and 24 deletions
@@ -5,6 +5,7 @@ module GitHubChangelogGenerator
# @return [String] Generated change log file
def compound_changelog
fetch_and_filter_tags
sort_tags_by_date(@filtered_tags)
fetch_issues_and_pr
log = "# Change Log\n\n"
@@ -129,7 +130,7 @@ module GitHubChangelogGenerator
log = generate_unreleased_section
(1...filtered_tags.size).each do |index|
log += generate_log_between_tags(all_tags[index], all_tags[index - 1])
log += generate_log_between_tags(filtered_tags[index], filtered_tags[index - 1])
end
if @filtered_tags.count != 0
log += generate_log_between_tags(nil, filtered_tags.last)
@@ -4,7 +4,6 @@ module GitHubChangelogGenerator
def fetch_and_filter_tags
@filtered_tags = get_filtered_tags(@fetcher.get_all_tags)
fetch_tags_dates
sort_tags_by_date(@filtered_tags)
end
# Sort all tags by date
@@ -22,11 +21,13 @@ module GitHubChangelogGenerator
def get_time_of_tag(tag_name)
fail ChangelogGeneratorError, "tag_name is nil".red if tag_name.nil?
if @tag_times_hash[tag_name["name"]]
@tag_times_hash[tag_name["name"]]
name_of_tag = tag_name["name"]
time_for_name = @tag_times_hash[name_of_tag]
if !time_for_name.nil?
time_for_name
else
time_string = @fetcher.fetch_date_of_tag tag_name
@tag_times_hash[tag_name["name"]] = time_string
@tag_times_hash[name_of_tag] = time_string
time_string
end
end