我正在尝试使用这样的数组:
MY_ARRAY = ["Jan 31, 2013", "Feb 28, 2013", "Mar 31, 2013"]
然后把它变成日期:
def array_as_date_objects
MY_ARRAY.map { |month| Date.parse(month)}
end
这产生了这个:
[#<Date: 2013-01-31 (4912645/2,0,2299161)>, #<Date: 2013-02-28 (4912703/2,0,2299161)>, #<Date: 2013-03-31 (4912763/2,0,2299161)>]
伟大的。但我也想测试这个日期对象数组是否符合我的预期。我该怎么做?
我曾希望这样的事情会奏效,但主题标签会注释掉剩余的信息。
MyClass.new.refined_schedule.should == :[#<Date: 2013-01-31 (4912645/2,0,2299161)>, #<Date: 2013-02-28 (4912703/2,0,2299161)>, #<Date: 2013-03-31 (4912763/2,0,2299161)>]
编辑:所以只是为了提供更多关于我的情况的信息,我主要关心的是如何存根这个数组。我不需要相信 Ruby 正确地创建了数组,我只需要正确地存根方法。抱歉不清楚。
describe "#final_schedule" do
it "generates an array of pay dates that do not fall on any weekend day" do
test_schedule = MyClass.new
test_schedule.stub(:refined_schedule) { [#<Date: 2013-01-31 (4912645/2,0,2299161)>, #<Date: 2013-02-28 (4912703/2,0,2299161)>, #<Date: 2013-03-31 (4912763/2,0,2299161)> ] }
test_schedule.final_schedule.should == [ "Thursday, Jan 31, 2013", "Thursday, Feb 28, 2013","Sunday, Mar 31, 2013"]
end
end