Issue #4391 has been updated by tadayoshi funaba.


i'm planning to remove this undocumented feature.
i once tried to remove this experimental feature.
because, i felt i could not assign my time enough.
in fact, i removed this.
however, it reverted.
because, we were already in period of feature freeze at that time.
i was going to improve the delta.
however, now i'd like to improve date.

thanks.
----------------------------------------
Feature #4391: date/delta tests
http://redmine.ruby-lang.org/issues/4391

Author: Sebastian Krause
Status: Assigned
Priority: Normal
Assignee: tadayoshi funaba
Category: lib
Target version: 1.9.x


 Attached are a few tests for the Date::Delta class. I hope they are of some use.
 And some points which might be considered bugs.
 (Everything for 1.9.2 patchlevel 174, probably applies to older versions too)
 
 
 i) Interplay with the Time class
 So the following doesn't look right:
 irb(main):005:0> t1 = Time.new(2011)
 => 2011-01-01 00:00:00 +0100
 irb(main):006:0> t2 = Date::Delta.days(1)
 => #<Date::Delta: +(1d 00:00'00"000)+(0y 0m) (1/1+0i)>
 irb(main):007:0> t1 + t2
 => 2011-01-01 00:00:01 +0100
 
 ii) Difference of Dates is number
 This leads to the following strange behavior:
 irb(main):016:0> t1 = Date.new(2011,2)
 => #<Date: 2011-02-01 (4911187/2,0,2299161)>
 irb(main):017:0> t1 - t1 + Date::Delta.months(1)
 => ((0/1)+(1/1)*i)
 
 Wouldn't it be better, if date arithmetic stayed in the classes Date and Date::Delta when
 date/delta is loaded?
 
 iii) multiplication with scalars
 I don't know what the coercion principles exactly are. So this might be okay.
 
 irb(main):003:0> 2 * Date::Delta.days(2)
 => ((4/1)+(0/1)*i)
 irb(main):004:0> Date::Delta.days(2) * 2
 => #<Date::Delta: +(4d 00:00'00"000)+(0y 0m) (4/1+0i)>
 
 
 
 Can I add some documentation? Is there a standard way to do it or should I just go ahead and copy the style from other parts.


-- 
http://redmine.ruby-lang.org