Last active
August 29, 2015 14:16
-
-
Save Jberczel/68ade4ec41a0668b1f8f to your computer and use it in GitHub Desktop.
test cases for reddit daily programmer challenge #205
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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