- Timestamp:
- Sep 14, 2009, 1:21:16 PM (15 years ago)
- Location:
- ruby/branches/0.5
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/branches/0.5/lib/open_ehr/assumed_library_types.rb
r256 r259 95 95 96 96 def self.valid_year?(year) 97 year >= 097 return !year.nil? && year >= 0 98 98 end 99 99 100 100 def self.valid_day?(y, m, d) 101 Date.valid_date?(y,m,d) and valid_year? y 101 unless y.nil? || m.nil? || d.nil? 102 return Date.valid_date?(y,m,d) 103 end 104 if (y.nil?) || (m.nil? && !d.nil?) 105 return false 106 end 107 return self.valid_year?(y) && self.valid_month?(m) 102 108 end 103 109 … … 126 132 127 133 def year=(year) 128 unless !year.nil? &&ISO8601Date.valid_year?(year)134 unless ISO8601Date.valid_year?(year) 129 135 raise ArgumentError, "Year is not valid" 130 136 end … … 138 144 139 145 def day=(day) 146 140 147 raise ArgumentError, "Day is not valid" unless day.nil? or ISO8601Date.valid_day?(@year, @month, day) 141 148 @day = day … … 548 555 end 549 556 end 557 550 558 class ISO8601_DURATION < TimeDefinitions 551 559 include ISO8601_DURATION_MODULE -
ruby/branches/0.5/lib/open_ehr/rm/support/identification.rb
r216 r259 6 6 module Support 7 7 module Identification 8 class ObjectI d8 class ObjectID 9 9 attr_reader :value 10 10 11 def initialize( value)12 self.value= value11 def initialize(args = {}) 12 self.value=args[:value] 13 13 end 14 14 … … 17 17 @value = value 18 18 end 19 19 20 def ==(object_id) 20 21 @value == object_id.value … … 32 33 33 34 def namespace=(namespace) 34 raise ArgumentError if namespace.nil? or namespace.empty? or !(/([a-z]|[A-Z]).*/ =~ namespace) # error original is =~ #([a-z][A-Z])([a-z]|[A-Z]|\s|[ 0-9]|[_-\:\/\&\+\?])*/35 raise ArgumentError if namespace.nil? or namespace.empty? or !(/([a-z]|[A-Z]).*/ =~ namespace) # error original is =~ #([a-z][A-Z])([a-z]|[A-Z]|\s|[v0-9]|[_-\:\/\&\+\?])*/ 35 36 @namespace = namespace 36 37 end … … 47 48 end 48 49 49 class ArchetypeI d < ObjectId50 class ArchetypeID < ObjectID 50 51 attr_reader :domain_concept, :rm_name, :rm_entity, :rm_originator, :specialisation, :version_id 51 52 … … 90 91 end 91 92 92 class TerminologyI d < ObjectId93 class TerminologyID < ObjectID 93 94 attr_reader :name, :version_id 94 95 95 def initialize( value)96 super( value)96 def initialize(args = {}) 97 super(args) 97 98 end 98 99 … … 129 130 end # of Terminology_ID 130 131 131 class GenericI d < ObjectId132 class GenericID < ObjectID 132 133 attr_reader :scheme 133 134 … … 143 144 end # of Generic_ID 144 145 145 class TemplateI d < ObjectId146 147 end 148 149 class U idBasedId < ObjectId146 class TemplateID < ObjectID 147 148 end 149 150 class UIDBasedID < ObjectID 150 151 def initialize(value) 151 152 super(value) … … 173 174 end 174 175 175 class ObjectVersionI d < UidBasedId176 class ObjectVersionID < UIDBasedID 176 177 attr_reader :object_id, :creating_system_id, :version_tree_id 177 178 … … 183 184 super(value) 184 185 if /^(\w+)::(\w+)::((\d|\.)+)$/ =~ value 185 self.object_id = U id.new($1)186 self.creating_system_id = U id.new($2)187 self.version_tree_id = VersionTreeI d.new($3)186 self.object_id = UID.new($1) 187 self.creating_system_id = UID.new($2) 188 self.version_tree_id = VersionTreeID.new($3) 188 189 else 189 190 raise ArgumentError, 'invalid format' … … 249 250 end 250 251 251 class HierObjectI d < UidBasedId252 253 end 254 255 class VersionTreeI d252 class HierObjectID < UIDBasedID 253 254 end 255 256 class VersionTreeID 256 257 attr_reader :value, :trunk_version, :branch_number, :branch_version 257 258 … … 302 303 end 303 304 304 class U id305 class UID 305 306 attr_reader :value 306 307 … … 315 316 end 316 317 317 class U uid < Uid318 319 end 320 321 class InternetI d <Uid318 class UUID < UID 319 320 end 321 322 class InternetID <UID 322 323 323 324 end 324 325 325 class IsoO id <Uid326 class IsoOID <UID 326 327 327 328 end -
ruby/branches/0.5/spec/lib/open_ehr/assumed_library_types/interval_spec.rb
r256 r259 1 <<<<<<< .mine2 1 require File.dirname(__FILE__) + '/../../../spec_helper' 3 2 include OpenEHR::AssumedLibraryTypes … … 139 138 end 140 139 end 141 =======142 require File.dirname(__FILE__) + '/../../../spec_helper'143 include OpenEHR::AssumedLibraryTypes144 140 145 describe Interval do146 before(:each) do147 @interval = Interval.new(:upper => 10,148 :lower => 1)149 end150 151 it 'should be an instance of Interval' do152 @interval.should be_an_instance_of Interval153 end154 155 it 's upper should be greater than lower' do156 @interval.upper.should be > @interval.lower157 end158 159 it 's upper should be equal 10' do160 @interval.upper.should == 10161 end162 163 it 's lower should be equal 1' do164 @interval.lower.should == 1165 end166 167 it 'should raise ArgumentError with smaller upper' do168 lambda {@interval.upper = -1}.should raise_error ArgumentError169 end170 171 it 'should raise ArgumentError with greater lower' do172 lambda {@interval.lower = 11}.should raise_error ArgumentError173 end174 175 it 'should have 5' do176 @interval.has?(5).should be_true177 end178 179 it 'should not have 11' do180 @interval.has?(11).should_not be_true181 end182 183 it 'should not have -1' do184 @interval.has?(-1).should_not be_true185 end186 187 it 'should not have 10' do188 @interval.has?(10).should_not be_true189 end190 191 it 'should have not have 1' do192 @interval.has?(1).should_not be_true193 end194 195 describe Interval, 'when lower included' do196 before do197 @interval.lower_included = true198 end199 200 it 'should be lower_included' do201 @interval.should be_lower_included202 end203 204 it 'should have 1 when lower included' do205 @interval.has?(1).should be_true206 end207 208 after do209 @interval.lower_included = false210 end211 end212 213 describe Interval, 'when upper included' do214 before do215 @interval.upper_included = true216 end217 218 it 'should be upper uncluded' do219 @interval.should be_upper_included220 end221 222 it 'should have 10 when upper included' do223 @interval.has?(10).should be_true224 end225 226 after do227 @interval.upper_included = false228 end229 end230 231 describe Interval, 'when upper unbounded' do232 before do233 @interval.upper = nil234 end235 236 it 'should be upper unbounded' do237 @interval.should be_upper_unbounded238 end239 240 it 'should have 11' do241 @interval.has?(11).should be_true242 end243 244 it 'should raise ArgumentError, when upper_included is assigned' do245 lambda{246 @interval.upper_included = true247 }.should raise_error ArgumentError248 end249 250 after do251 @interval.upper = 10252 end253 end254 255 describe Interval, 'when lower unbounded' do256 before do257 @interval.lower = nil258 end259 260 it 'should be lower unbounded' do261 @interval.should be_lower_unbounded262 end263 264 it 'should have -10' do265 @interval.has?(-10).should be_true266 end267 268 it 'should raise ArgumentError, when lower_included is assigned' do269 lambda{270 @interval.lower_included = true271 }.should raise_error ArgumentError272 end273 end274 275 it 'should raise ArgumentError both upper and lower is nil' do276 lambda {277 Interval.new278 }.should raise_error ArgumentError279 end280 end281 >>>>>>> .r255 -
ruby/branches/0.5/spec/lib/open_ehr/assumed_library_types/iso_8601_date_spec.rb
r256 r259 25 25 it 'should be 2009-09-10 as_string' do 26 26 @iso8601date.as_string.should == '2009-09-10' 27 end 28 29 it 'should be extended ' do 30 @iso8601date.is_extended?.should be_true 27 31 end 28 32 … … 65 69 end 66 70 67 describe 'January behavior' do 68 before do 69 @iso8601date.month = 1 70 end 71 [1,3,5,7,8,10,12].each do |m| 72 describe '#{m}th month behavior' do 73 before do 74 @iso8601date.month = m 75 end 76 77 it 'should have 31 days' do 78 lambda{ 79 @iso8601date.day = 31 80 }.should_not raise_error ArgumentError 81 end 71 82 72 it 'January should have 31 days' do 73 lambda{@iso8601date.day = 31}.should_not raise_error ArgumentError 74 end 75 76 it 'January should not have 32 days' do 77 lambda{@iso8601date.month = 32}.should raise_error ArgumentError 83 it 'should not have 32 days' do 84 lambda{ 85 @iso8601date.day = 32 86 }.should raise_error ArgumentError 87 end 78 88 end 79 89 end … … 127 137 end 128 138 129 describe 'March behavior' do 130 before do 131 @iso8601date.month = 3 132 end 139 [4,6,9,11].each do |month| 140 describe "#{month}th month behavior" do 141 before do 142 @iso8601date.month = month 143 end 133 144 134 it '31 day should not raise ArgumentError' do 135 lambda{@iso8601date.day = 31}.should_not raise_error ArgumentError 136 end 145 it '30 day should not raise ArgumentError' do 146 lambda{ 147 @iso8601date.day = 30 148 }.should_not raise_error ArgumentError 149 end 137 150 138 it '32 day should raise ArgumentError' do 139 lambda{@iso8601date.day = 32}.should raise_error ArgumentError 151 it '31 day should raise ArgumentError' do 152 lambda{ 153 @iso8601date.day = 31 154 }.should raise_error ArgumentError 155 end 140 156 end 141 157 end 142 158 143 describe 'April behavior' do 144 before do 145 @iso8601date.month = 4 159 describe 'partial date data' do 160 describe 'day unknown' do 161 before do 162 @iso8601date.day = nil 163 end 164 165 it 'day should be unknown' do 166 @iso8601date.should be_day_unknown 167 end 168 169 it 'should be 2009-09 as string' do 170 @iso8601date.as_string.should == '2009-09' 171 end 172 173 it 'should be partial' do 174 @iso8601date.is_partial?.should be_true 175 end 176 177 after do 178 @iso8601date.day = 10 179 end 146 180 end 147 148 it '30 day should not raise ArgumentError' do 149 lambda{@iso8601date.day = 30}.should_not raise_error ArgumentError 150 end 151 152 it '31 day should raise ArgumentError' do 153 lambda{@iso8601date.day = 31}.should raise_error ArgumentError 181 182 describe 'month unknown' do 183 before do 184 @iso8601date.day = nil 185 @iso8601date.month = nil 186 end 187 188 it 'should raise ArgumentError with nil month and not nil day' do 189 lambda { 190 @iso8601date.day = 11 191 }.should raise_error ArgumentError 192 end 154 193 end 155 194 end 195 156 196 end -
ruby/branches/0.5/spec/lib/open_ehr/rm/data_types/basic/dv_state_spec.rb
r221 r259 6 6 describe DvState do 7 7 before(:each) do 8 @terminology_id = TerminologyI d.new('openher')8 @terminology_id = TerminologyID.new(:value => 'openher') 9 9 code_phrase = CodePhrase.new(:code_string => '524', 10 10 :terminology_id => @terminology_id) -
ruby/branches/0.5/spec/lib/open_ehr/rm/data_types/quantity/dv_ordinal_spec.rb
r248 r259 6 6 describe DvOrdinal do 7 7 before(:each) do 8 terminology_id = stub(TerminologyI d, :value => 'urine:prot')8 terminology_id = stub(TerminologyID, :value => 'urine:prot') 9 9 code_phrase = stub(CodePhrase, :terminology_id => terminology_id) 10 10 symbol = stub(DvCodedText, :code_string => '+', … … 35 35 36 36 it 'should be strictry comperable to other DvOrdinal' do 37 terminology_id = stub(TerminologyI d, :value => 'urine:prot')37 terminology_id = stub(TerminologyID, :value => 'urine:prot') 38 38 code_phrase = stub(CodePhrase, :terminology_id => terminology_id) 39 39 symbol = stub(DvCodedText, :defining_code => code_phrase) -
ruby/branches/0.5/spec/lib/open_ehr/rm/data_types/text/code_phrase_spec.rb
r222 r259 5 5 describe CodePhrase do 6 6 before(:each) do 7 terminology_id = TerminologyI d.new('openehr')7 terminology_id = TerminologyID.new(:value => 'openehr') 8 8 @code_phrase = CodePhrase.new(:code_string => '535', 9 9 :terminology_id => terminology_id) -
ruby/branches/0.5/spec/lib/open_ehr/rm/data_types/text/dv_text_spec.rb
r225 r259 5 5 describe DvText do 6 6 before(:each) do 7 terminology_id = TerminologyI d.new('openehr')7 terminology_id = TerminologyID.new(:value => 'openehr') 8 8 language = CodePhrase.new(:terminology_id => terminology_id, 9 9 :code_string => 'ja') -
ruby/branches/0.5/spec/spec.opts
r255 r259 1 1 --colour 2 --format specdoc2 --format progress 3 3 --loadby mtime 4 4 --reverse
Note:
See TracChangeset
for help on using the changeset viewer.