source: ruby/trunk/lib/models/tests/test_assumed_library_types.rb@ 70

Last change on this file since 70 was 70, checked in by (none), 16 years ago

refs #38

File size: 10.8 KB
Line 
1require 'test/unit'
2require 'assumed_library_types.rb'
3
4class Assumed_Library_Test < Test::Unit::TestCase
5 def setup
6 @interval = OpenEHR::Assumed_Library_Types::Interval.new(1,2)
7 @time_definition = OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.new
8 @iso8601_date = OpenEHR::Assumed_Library_Types::ISO8601_DATE.new
9 @iso8601_time = OpenEHR::Assumed_Library_Types::ISO8601_TIME.new
10 end
11 def test_initialize
12 assert_instance_of OpenEHR::Assumed_Library_Types::Interval, @interval
13 assert_instance_of OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS, @time_definition
14 assert_instance_of OpenEHR::Assumed_Library_Types::ISO8601_DATE, @iso8601_date
15 assert_instance_of OpenEHR::Assumed_Library_Types::ISO8601_TIME, @iso8601_time
16 end
17 def test_limits_comparable
18 assert @interval.lower < @interval.upper
19 @interval.set_lower(1.0)
20 @interval.set_upper(2.0)
21 assert @interval.lower < @interval.upper
22 end
23 def test_limits_consistent
24 assert @interval.has?(1.5)
25 assert !@interval.has?(3.0)
26 assert !@interval.has?(0.5)
27 @interval.set_lower_included(true)
28 assert @interval.has?(1.0)
29 @interval.set_lower_included(false)
30 assert !@interval.has?(1.0)
31 @interval.set_upper_included(true)
32 assert @interval.has?(2.0)
33 @interval.set_upper_included(false)
34 assert !@interval.has?(2.0)
35 end
36 def test_lower_included_valid
37 @interval.set_lower(nil)
38 assert @interval.lower_unbounded
39 assert !@interval.lower_included
40 @interval.set_lower(1.0)
41 end
42 def test_upper_included_valid
43 @interval.set_upper(nil)
44 assert @interval.upper_unbounded
45 assert !@interval.upper_included
46 end
47
48 def test_time_definitions
49 assert_equal OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS::DAYS_IN_LEAP_YEAR, 366
50 assert_equal OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS::DAYS_IN_WEEK, 7
51 assert_equal OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS::DAYS_IN_YEAR, 365
52 assert_equal OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS::HOURS_IN_DAY, 24
53 assert_equal OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS::MAX_DAYS_IN_MONTH, 31
54 assert_equal OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS::MAX_DAYS_IN_YEAR, 366
55 assert_equal OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS::MINUTES_IN_HOUR, 60
56 assert_equal OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS::MONTH_IN_YEAR, 12
57 assert_equal OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS::NOMINAL_DAYS_IN_MONTH, 30.42
58 assert_equal OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS::NOMINAL_DAYS_IN_YEAR, 365.24
59 assert_equal OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS::SECONDS_IN_MINUTE, 60
60 end
61
62 def test_date_time_valid
63 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_year?(2008)
64 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_year?(-20)
65 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_year?(0)
66# today
67 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,6,19)
68# test valid_day lower limit
69 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(0,0,0)
70 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(0,1,1)
71 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(-1,1,1)
72 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(0,1,0)
73# test valid_day upper and lowerlimit of each month
74 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(0,0,1)
75 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,1,1)
76 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,1,0)
77 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,0,1)
78 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,1,31)
79 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,1,32)
80 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,2,1)
81 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,2,0)
82 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,2,31)
83 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,3,1)
84 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,3,0)
85 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,3,31)
86 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,3,32)
87 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,4,1)
88 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,4,0)
89 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,4,30)
90 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,4,31)
91 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,5,1)
92 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,5,0)
93 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,5,31)
94 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,5,32)
95 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,6,1)
96 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,6,0)
97 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,6,30)
98 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,6,31)
99 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,7,1)
100 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,7,0)
101 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,7,31)
102 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,7,32)
103 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,8,1)
104 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,8,0)
105 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,8,31)
106 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,8,32)
107 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,9,1)
108 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,9,0)
109 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,9,30)
110 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,9,31)
111 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,10,1)
112 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,10,0)
113 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,10,31)
114 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,10,32)
115 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,11,1)
116 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,11,0)
117 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,11,30)
118 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,11,31)
119 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,12,1)
120 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,12,0)
121 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,12,31)
122 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,12,32)
123# test valid_day leap year
124 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(1900,2,28)
125 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(1900,2,29)
126 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2000,2,29)
127 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_day?(2008,2,29)
128# test valid_hour lower limit
129 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_hour?(0,0,0)
130 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_hour?(-1,0,0)
131 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_hour?(0,-1,0)
132 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_hour?(0,0,-1)
133# test valid_hour upper limit
134 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_hour?(0,59,0)
135 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_hour?(0,60,0)
136 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_hour?(0,0,59)
137 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_hour?(0,0,60)
138 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_hour?(24,0,0)
139 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_hour?(24,0,1)
140 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_hour?(24,1,0)
141# test valid_minute method lower limit
142 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_minute?(0)
143 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_minute?(-1)
144# test valid_minute method upper limit
145 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_minute?(59)
146 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_minute?(60)
147# test valid_second method lower limit
148 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_second?(0)
149 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_second?(-1)
150# test valid_second method upper limit
151 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_second?(59)
152 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_second?(60)
153# test valid_month method lower limit
154 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_month?(1)
155 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_month?(0)
156# test valid_month method upper limit
157 assert OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_month?(12)
158 assert !OpenEHR::Assumed_Library_Types::TIME_DEFINITIONS.valid_month?(13)
159 end
160 def test_iso8601_date
161 assert @iso8601_date.day_unknown?
162 assert @iso8601_date.month_unknown?
163 assert @iso8601_date.is_partial?
164 assert @iso8601_date.is_extended?
165 @iso8601_date.year = 2008
166 assert_equal 2008, @iso8601_date.year
167 assert_raise(ArgumentError){@iso8601_date.year = -1}
168 assert_equal "2008", @iso8601_date.as_string
169 @iso8601_date.month = 6
170 assert_equal 6, @iso8601_date.month
171 assert_raise(ArgumentError){@iso8601_date.month = 13}
172 assert_raise(ArgumentError){@iso8601_date.month = 0}
173 assert !@iso8601_date.month_unknown?
174 assert_equal "2008-06", @iso8601_date.as_string
175 @iso8601_date.day = 14
176 assert_equal 14, @iso8601_date.day
177 assert_raise(ArgumentError){@iso8601_date.day = 0}
178 assert_raise(ArgumentError){@iso8601_date.day = 31}
179 assert !@iso8601_date.day_unknown?
180 assert !@iso8601_date.is_partial?
181 assert_equal "2008-06-14", @iso8601_date.as_string
182 assert @iso8601_date.valid_iso8601_date("2006-06-14")
183 assert !@iso8601_date.valid_iso8601_date("ABCDEFG")
184 end
185
186 def test_iso8601_time
187 assert @iso8601_time.
188 end
189end
Note: See TracBrowser for help on using the repository browser.