source: ruby/branches/0.5/spec/lib/open_ehr/assumed_library_types/iso8601_duration_spec.rb@ 289

Last change on this file since 289 was 289, checked in by KOBAYASHI, Shinji, 15 years ago

assumed types library completed

File size: 3.6 KB
Line 
1require File.dirname(__FILE__) + '/../../../spec_helper'
2include OpenEHR::AssumedLibraryTypes
3
4describe 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
150end
Note: See TracBrowser for help on using the repository browser.