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 |
|
---|
33 | it 'diff should P0Y0M1W11D' do
|
---|
34 | diff_date = DvDate.new(:value => '2009-10-09')
|
---|
35 | @dv_date.diff(diff_date).value.should == 'P0Y0M1W11D'
|
---|
36 | end
|
---|
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
|
---|
64 | end
|
---|