[310] | 1 | require File.dirname(__FILE__) + '/../../../../../../spec_helper'
|
---|
| 2 | include OpenEHR::RM::DataTypes::Quantity::DateTime
|
---|
| 3 |
|
---|
| 4 | describe DvDate do
|
---|
| 5 | before(:each) do
|
---|
| 6 | @dv_date = DvDate.new(:value => '2009-09-28')
|
---|
| 7 | end
|
---|
| 8 |
|
---|
| 9 | it 'should be an instance of DvDate' do
|
---|
| 10 | @dv_date.should be_an_instance_of DvDate
|
---|
| 11 | end
|
---|
| 12 |
|
---|
| 13 | it 'value should be' do
|
---|
| 14 | @dv_date.value.should == '2009-09-28'
|
---|
| 15 | end
|
---|
| 16 |
|
---|
| 17 | it 'year should be 2009' do
|
---|
| 18 | @dv_date.year.should be_equal 2009
|
---|
| 19 | end
|
---|
| 20 |
|
---|
| 21 | it 'month should be 9' do
|
---|
| 22 | @dv_date.month.should be_equal 9
|
---|
| 23 | end
|
---|
| 24 |
|
---|
| 25 | it 'day should be 28' do
|
---|
| 26 | @dv_date.day.should be_equal 28
|
---|
| 27 | end
|
---|
| 28 |
|
---|
| 29 | it 'magnitude should 734045' do
|
---|
| 30 | @dv_date.magnitude.should == 734045
|
---|
| 31 | end
|
---|
| 32 |
|
---|
[311] | 33 | it 'diff should P0Y0M1W11D' do
|
---|
[310] | 34 | diff_date = DvDate.new(:value => '2009-10-09')
|
---|
| 35 | @dv_date.diff(diff_date).value.should == 'P0Y0M1W11D'
|
---|
| 36 | end
|
---|
[311] | 37 |
|
---|
| 38 | it 'should process leap year' do
|
---|
| 39 | @dv_date.value = '2004-02-28'
|
---|
| 40 | diff_date = DvDate.new(:value => '2004-03-01')
|
---|
| 41 | @dv_date.diff(diff_date).value.should == 'P0Y0M0W2D'
|
---|
| 42 | end
|
---|
| 43 |
|
---|
| 44 | it 'should process year'do
|
---|
| 45 | diff_date = DvDate.new(:value => '2007-12-31')
|
---|
| 46 | @dv_date.diff(diff_date).value.should == 'P1Y8M4W28D'
|
---|
| 47 | end
|
---|
| 48 |
|
---|
| 49 | it 'should be P0Y11M4W31D' do
|
---|
| 50 | diff_date = DvDate.new(:value => '2008-09-30')
|
---|
| 51 | @dv_date.diff(diff_date).value.should == 'P0Y11M4W29D'
|
---|
| 52 | end
|
---|
| 53 |
|
---|
| 54 | it 'should be P1Y0M0W1D' do
|
---|
| 55 | diff_date = DvDate.new(:value => '2010-09-29')
|
---|
| 56 | @dv_date.diff(diff_date).value.should == 'P1Y0M0W1D'
|
---|
| 57 | end
|
---|
| 58 |
|
---|
| 59 | it 'should be P0Y0M0W1D' do
|
---|
| 60 | past_date = DvDate.new(:value => '2009-12-31')
|
---|
| 61 | future_date=DvDate.new(:value => '2010-01-01')
|
---|
| 62 | past_date.diff(future_date).value.should == 'P0Y0M0W1D'
|
---|
| 63 | end
|
---|
[310] | 64 | end
|
---|