1 | require File.dirname(__FILE__) + '/../../../spec_helper'
|
---|
2 | include OpenEHR::AssumedLibraryTypes
|
---|
3 |
|
---|
4 | describe ISO8601Duration do
|
---|
5 | before(:each) do
|
---|
6 | @iso8601duration = ISO8601Duration.new('P1Y2M3W4DT5H6M7.8S')
|
---|
7 | end
|
---|
8 |
|
---|
9 | it 'should be an instance of ISO8601Duration' do
|
---|
10 | @iso8601duration.should be_an_instance_of ISO8601Duration
|
---|
11 | end
|
---|
12 |
|
---|
13 | it 'years should be 1' do
|
---|
14 | @iso8601duration.years.should be_equal 1
|
---|
15 | end
|
---|
16 |
|
---|
17 | it 'months should be 2' do
|
---|
18 | @iso8601duration.months.should be_equal 2
|
---|
19 | end
|
---|
20 |
|
---|
21 | it 'weeks should be 3' do
|
---|
22 | @iso8601duration.weeks.should be_equal 3
|
---|
23 | end
|
---|
24 |
|
---|
25 | it 'days should be 4' do
|
---|
26 | @iso8601duration.days.should be_equal 4
|
---|
27 | end
|
---|
28 |
|
---|
29 | it 'hours should be 5' do
|
---|
30 | @iso8601duration.hours.should be_equal 5
|
---|
31 | end
|
---|
32 |
|
---|
33 | it 'minutes should be 6' do
|
---|
34 | @iso8601duration.minutes.should be_equal 6
|
---|
35 | end
|
---|
36 |
|
---|
37 | it 'seconds should be 7' do
|
---|
38 | @iso8601duration.seconds.should be_equal 7
|
---|
39 | end
|
---|
40 |
|
---|
41 | it 'fractional_seconds should be .8' do
|
---|
42 | @iso8601duration.fractional_second.should == 0.8
|
---|
43 | end
|
---|
44 |
|
---|
45 | it 'should be equal P1Y2M3W4DT5H6M7.8S as string' do
|
---|
46 | @iso8601duration.as_string.should == 'P1Y2M3W4DT5H6M7.8S'
|
---|
47 | end
|
---|
48 |
|
---|
49 | it 'should not raise ArgumentError with 0 yaers' do
|
---|
50 | lambda {
|
---|
51 | @iso8601duration.years = 0
|
---|
52 | }.should_not raise_error ArgumentError
|
---|
53 | end
|
---|
54 |
|
---|
55 | it 'should raise ArgumentError with -1 yaers' do
|
---|
56 | lambda {
|
---|
57 | @iso8601duration.years = -1
|
---|
58 | }.should raise_error ArgumentError
|
---|
59 | end
|
---|
60 |
|
---|
61 | it 'should not raise ArgumentError with 0 months' do
|
---|
62 | lambda {
|
---|
63 | @iso8601duration.months = 0
|
---|
64 | }.should_not raise_error ArgumentError
|
---|
65 | end
|
---|
66 |
|
---|
67 | it 'should raise ArgumentError with -1 months' do
|
---|
68 | lambda {
|
---|
69 | @iso8601duration.months = -1
|
---|
70 | }.should raise_error ArgumentError
|
---|
71 | end
|
---|
72 |
|
---|
73 | it 'should not raise ArgumentError with 0 weeks' do
|
---|
74 | lambda {
|
---|
75 | @iso8601duration.weeks = 0
|
---|
76 | }.should_not raise_error ArgumentError
|
---|
77 | end
|
---|
78 |
|
---|
79 | it 'should raise ArgumentError with -1 weeks' do
|
---|
80 | lambda {
|
---|
81 | @iso8601duration.weeks = -1
|
---|
82 | }.should raise_error ArgumentError
|
---|
83 | end
|
---|
84 |
|
---|
85 | it 'should not raise ArgumentError with 0 days' do
|
---|
86 | lambda {
|
---|
87 | @iso8601duration.days = 0
|
---|
88 | }.should_not raise_error ArgumentError
|
---|
89 | end
|
---|
90 |
|
---|
91 | it 'should raise ArgumentError with -1 days' do
|
---|
92 | lambda {
|
---|
93 | @iso8601duration.days = -1
|
---|
94 | }.should raise_error ArgumentError
|
---|
95 | end
|
---|
96 |
|
---|
97 | it 'should not raise ArgumentError with 0 hours' do
|
---|
98 | lambda {
|
---|
99 | @iso8601duration.hours = 0
|
---|
100 | }.should_not raise_error ArgumentError
|
---|
101 | end
|
---|
102 |
|
---|
103 | it 'should raise ArgumentError with -1 hours' do
|
---|
104 | lambda {
|
---|
105 | @iso8601duration.hours = -1
|
---|
106 | }.should raise_error ArgumentError
|
---|
107 | end
|
---|
108 |
|
---|
109 | it 'should not raise ArgumentError with 0 minutes' do
|
---|
110 | lambda {
|
---|
111 | @iso8601duration.minutes = 0
|
---|
112 | }.should_not raise_error ArgumentError
|
---|
113 | end
|
---|
114 |
|
---|
115 | it 'should raise ArgumentError with -1 minutes' do
|
---|
116 | lambda {
|
---|
117 | @iso8601duration.minutes = -1
|
---|
118 | }.should raise_error ArgumentError
|
---|
119 | end
|
---|
120 |
|
---|
121 | it 'should not raise ArgumentError with 0 seconds' do
|
---|
122 | lambda {
|
---|
123 | @iso8601duration.seconds = 0
|
---|
124 | }.should_not raise_error ArgumentError
|
---|
125 | end
|
---|
126 |
|
---|
127 | it 'should raise ArgumentError with -1 seconds' do
|
---|
128 | lambda {
|
---|
129 | @iso8601duration.seconds = -1
|
---|
130 | }.should raise_error ArgumentError
|
---|
131 | end
|
---|
132 |
|
---|
133 | it 'should not raise ArgumentError with 0 fractional_second' do
|
---|
134 | lambda {
|
---|
135 | @iso8601duration.fractional_second = 0
|
---|
136 | }.should_not raise_error ArgumentError
|
---|
137 | end
|
---|
138 |
|
---|
139 | it 'should raise ArgumentError with -1 fractional_second' do
|
---|
140 | lambda {
|
---|
141 | @iso8601duration.fractional_second = -1
|
---|
142 | }.should raise_error ArgumentError
|
---|
143 | end
|
---|
144 |
|
---|
145 | it 'should raise ArgumentError with 1.0 fractional_second' do
|
---|
146 | lambda {
|
---|
147 | @iso8601duration.fractional_second = 1.0
|
---|
148 | }.should raise_error ArgumentError
|
---|
149 | end
|
---|
150 | end
|
---|