Skip to content

Instantly share code, notes, and snippets.

@Jberczel
Last active August 29, 2015 14:16
Show Gist options
  • Save Jberczel/68ade4ec41a0668b1f8f to your computer and use it in GitHub Desktop.
Save Jberczel/68ade4ec41a0668b1f8f to your computer and use it in GitHub Desktop.
test cases for reddit daily programmer challenge #205
require_relative 'friendly_date_ranges'
require 'minitest/autorun'
class FriendlyDatesTest < Minitest::Test
def test_teen_day_formatting
input = '2015-07-11 2015-08-12'
results = FriendlyDates.new(input)
assert_equal '11th', results.date1.day
assert_equal '12th', results.date2.day
end
def test_end_of_month_formatting
input = '2011-6-22 2012-12-31'
results = FriendlyDates.new(input)
assert_equal '22nd', results.date1.day
assert_equal '31st', results.date2.day
end
def test_omits_month_and_year
input = '2015-07-01 2015-07-04'
assert_equal 'July 1st - 4th', FriendlyDates.new(input).result
end
def test_omits_current_and_last_years
input = '2015-12-01 2016-02-03'
expected = 'December 1st - February 3rd'
assert_equal expected, FriendlyDates.new(input).result
end
def test_multi_years
input = '2015-12-01 2017-02-03'
expected = 'December 1st, 2015 - February 3rd, 2017'
assert_equal expected, FriendlyDates.new(input).result
end
def test_omits_first_date_year
input = '2016-03-01 2016-05-05'
expected = 'March 1st - May 5th, 2016'
assert_equal expected, FriendlyDates.new(input).result
end
def test_same_date
input = '2017-01-01 2017-01-01'
expected = 'January 1st, 2017'
assert_equal expected, FriendlyDates.new(input).result
end
def test_future_dates
input = '2022-09-05 2023-09-04'
expected = 'September 5th, 2022 - September 4th, 2023'
assert_equal expected, FriendlyDates.new(input).result
end
def test_edge_case_1
input = '2015-04-01 2020-09-10'
expected = 'April 1st, 2015 - September 10th, 2020'
assert_equal expected, FriendlyDates.new(input).result
end
def test_edge_case_1_1
input = '2015-12-01 2016-02-03'
expected = 'December 1st - February 3rd'
assert_equal expected, FriendlyDates.new(input).result
end
def test_edge_case_2
input = '2015-12-11 2016-12-11'
expected = 'December 11th, 2015 - December 11th, 2016'
assert_equal expected, FriendlyDates.new(input).result
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment