diff options
author | Nick Holden <nick.r.holden@gmail.com> | 2018-03-06 20:42:49 -0800 |
---|---|---|
committer | Nick Holden <nick.r.holden@gmail.com> | 2018-03-06 20:42:49 -0800 |
commit | 20fa0d92c36681f6cffc715e08c299ff942352f4 (patch) | |
tree | 16c284564bb661a58694bed695b41e9d312bf2cb /activesupport/test/core_ext/time_ext_test.rb | |
parent | b5aa0266d0a4d5f7a02eb31df730fa172d1a845a (diff) | |
download | rails-20fa0d92c36681f6cffc715e08c299ff942352f4.tar.gz rails-20fa0d92c36681f6cffc715e08c299ff942352f4.tar.bz2 rails-20fa0d92c36681f6cffc715e08c299ff942352f4.zip |
Add `before?` and `after?` methods to date and time classes
Equality comparisons between dates and times can take some extra time to
comprehend. I tend to think of a date or time as "before" or "after"
another date or time, but I naturally read `<` and `>` as "less than"
and "greater than." This change seeks to make date/time comparisons more
human readable.
Diffstat (limited to 'activesupport/test/core_ext/time_ext_test.rb')
-rw-r--r-- | activesupport/test/core_ext/time_ext_test.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/time_ext_test.rb b/activesupport/test/core_ext/time_ext_test.rb index e1cb22fda8..0d16e51087 100644 --- a/activesupport/test/core_ext/time_ext_test.rb +++ b/activesupport/test/core_ext/time_ext_test.rb @@ -736,6 +736,18 @@ class TimeExtCalculationsTest < ActiveSupport::TestCase end end + def test_before + assert_equal false, Time.utc(2017, 3, 6, 12, 0, 0).before?(Time.utc(2017, 3, 6, 11, 59, 59)) + assert_equal false, Time.utc(2017, 3, 6, 12, 0, 0).before?(Time.utc(2017, 3, 6, 12, 0, 0)) + assert_equal true, Time.utc(2017, 3, 6, 12, 0, 0).before?(Time.utc(2017, 3, 6, 12, 00, 1)) + end + + def test_after + assert_equal true, Time.utc(2017, 3, 6, 12, 0, 0).after?(Time.utc(2017, 3, 6, 11, 59, 59)) + assert_equal false, Time.utc(2017, 3, 6, 12, 0, 0).after?(Time.utc(2017, 3, 6, 12, 0, 0)) + assert_equal false, Time.utc(2017, 3, 6, 12, 0, 0).after?(Time.utc(2017, 3, 6, 12, 00, 1)) + end + def test_acts_like_time assert_predicate Time.new, :acts_like_time? end |