diff options
author | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-28 10:06:13 +0000 |
---|---|---|
committer | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-28 10:06:13 +0000 |
commit | 0e395a600215e9060cd9915940caa789b92a275a (patch) | |
tree | f4dd180dc8689c250ef6912004e5f70d65d6c002 /test/date/test_date.rb | |
parent | f7aef0f7b1ad5fec79054ad532208d9430ec89aa (diff) | |
download | ruby-0e395a600215e9060cd9915940caa789b92a275a.tar.gz |
* test/date/*.rb: imported a date test suite ruby 1.9 limited ed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/date/test_date.rb')
-rw-r--r-- | test/date/test_date.rb | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/test/date/test_date.rb b/test/date/test_date.rb new file mode 100644 index 0000000000..3ae22633ec --- /dev/null +++ b/test/date/test_date.rb @@ -0,0 +1,138 @@ +require 'test/unit' +require 'date' + +class DateSub < Date; end +class DateTimeSub < DateTime; end + +class TestDate < Test::Unit::TestCase + + def test__const + assert_nil(Date::MONTHNAMES[0]) + assert_equal('January', Date::MONTHNAMES[1]) + assert_equal(13, Date::MONTHNAMES.size) + assert_equal('Sunday', Date::DAYNAMES[0]) + assert_equal(7, Date::DAYNAMES.size) + + assert_nil(Date::ABBR_MONTHNAMES[0]) + assert_equal('Jan', Date::ABBR_MONTHNAMES[1]) + assert_equal(13, Date::ABBR_MONTHNAMES.size) + assert_equal('Sun', Date::ABBR_DAYNAMES[0]) + assert_equal(7, Date::ABBR_DAYNAMES.size) + + assert(Date::MONTHNAMES.frozen?) + assert(!Date::MONTHNAMES[0].frozen?) + assert(Date::MONTHNAMES[1].frozen?) + assert(Date::DAYNAMES.frozen?) + assert(Date::DAYNAMES[0].frozen?) + + assert(Date::ABBR_MONTHNAMES.frozen?) + assert(Date::ABBR_MONTHNAMES[1].frozen?) + assert(Date::ABBR_DAYNAMES.frozen?) + assert(Date::ABBR_DAYNAMES[0].frozen?) + end + + def test_sub + d = DateSub.new + dt = DateTimeSub.new + + assert_instance_of(DateSub, d) + assert_equal('#<DateSub: -1/2,0,2299161>', d.inspect) + assert_equal('-4712-01-01', d.to_s) + assert_equal('-4712-01-01T00:00:00+00:00', dt.to_s) + + d2 = d + 1 + assert_instance_of(DateSub, d2) + d2 = d - 1 + assert_instance_of(DateSub, d2) + d2 = d >> 1 + assert_instance_of(DateSub, d2) + d2 = d << 1 + assert_instance_of(DateSub, d2) + d2 = d.succ + assert_instance_of(DateSub, d2) + d2 = d.next + assert_instance_of(DateSub, d2) + d2 = d.italy + assert_instance_of(DateSub, d2) + d2 = d.england + assert_instance_of(DateSub, d2) + d2 = d.julian + assert_instance_of(DateSub, d2) + d2 = d.gregorian + assert_instance_of(DateSub, d2) + s = Marshal.dump(d) + d2 = Marshal.load(s) + assert_equal(d2, d) + assert_instance_of(DateSub, d2) + + dt2 = dt + 1 + assert_instance_of(DateTimeSub, dt2) + dt2 = dt - 1 + assert_instance_of(DateTimeSub, dt2) + dt2 = dt >> 1 + assert_instance_of(DateTimeSub, dt2) + dt2 = dt << 1 + assert_instance_of(DateTimeSub, dt2) + dt2 = dt.succ + assert_instance_of(DateTimeSub, dt2) + dt2 = dt.next + assert_instance_of(DateTimeSub, dt2) + dt2 = dt.italy + assert_instance_of(DateTimeSub, dt2) + dt2 = dt.england + assert_instance_of(DateTimeSub, dt2) + dt2 = dt.julian + assert_instance_of(DateTimeSub, dt2) + dt2 = dt.gregorian + assert_instance_of(DateTimeSub, dt2) + s = Marshal.dump(dt) + dt2 = Marshal.load(s) + assert_equal(dt2, dt) + assert_instance_of(DateTimeSub, dt2) + end + + def test_eql_p + d = Date.jd(0) + d2 = Date.jd(0) + dt = DateTime.jd(0) + dt2 = DateTime.jd(0) + + assert_equal(d, d2) + assert_not_equal(d, 0) + + assert_equal(dt, dt2) + assert_not_equal(dt, 0) + + assert_equal(d, dt) + assert_equal(d2, dt2) + end + + def test_hash + h = {} + h[Date.new(1999,5,23)] = 0 + h[Date.new(1999,5,24)] = 1 + h[Date.new(1999,5,25)] = 2 + h[Date.new(1999,5,25)] = 9 + assert_equal(3, h.size) + assert_equal(9, h[Date.new(1999,5,25)]) + assert_equal(9, h[DateTime.new(1999,5,25)]) + + h = {} + h[DateTime.new(1999,5,23)] = 0 + h[DateTime.new(1999,5,24)] = 1 + h[DateTime.new(1999,5,25)] = 2 + h[DateTime.new(1999,5,25)] = 9 + assert_equal(3, h.size) + assert_equal(9, h[Date.new(1999,5,25)]) + assert_equal(9, h[DateTime.new(1999,5,25)]) + end + + def test_freeze + d = Date.new + d.freeze + assert_equal(true, d.frozen?) + assert_instance_of(Fixnum, d.yday) + assert_instance_of(String, d.to_s) + end + +end |