Changeset 98 for ruby/trunk
- Timestamp:
- Aug 17, 2008, 7:47:10 PM (16 years ago)
- Location:
- ruby/trunk/lib/models
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/models/rm/support/identification.rb
r97 r98 169 169 end 170 170 171 class Party_Ref < Object_Ref 172 TYPE = ['PERSON', 'ORGANISATION', 'GROUP', 'AGENT', 'ROLE',' PARTY', 'ACTOR'] 173 def initialize(namespace, type, id) 174 super(namespace, type, id) 175 end 176 177 def type=(type) 178 raise ArgumentError, 'type mismatch' if !TYPE.include? type 179 @type = type 180 end 181 end 171 182 class Hier_Object_ID < UID_Based_ID 172 183 173 184 end 174 185 186 class Version_Tree_ID 187 attr_reader :value, :trunk_version, :branch_number, :branch_version 188 189 def initialize(value) 190 self.value = value 191 end 192 193 def value=(value) 194 raise ArgumentError, 'value invalid' if value.nil? or value.empty? 195 @value = value 196 (trunk_version, branch_number, branch_version) = value.split '.' 197 self.trunk_version =trunk_version 198 end 199 200 def trunk_version=(trunk_version) 201 Raise ArgumentError, 'trunk_version invalid' if trunk_version.nil? and trunk_version.to_i >= 0 202 @trunk_version = trunk_version 203 end 204 205 def branch_number=(branch_number) 206 Raise ArgumentError, 'branch number invalid' if branch_nmuber.nil? 207 end 208 209 def is_branch? 210 !@branch_version.nil? 211 end 212 private 213 def value_valid 214 215 end 216 end 217 218 class UID 219 attr_reader :value 220 221 def initialize(value) 222 self.value = value 223 end 224 225 def value=(value) 226 raise ArgumentError if value.nil? or value.empty? 227 @value = value 228 end 229 end 230 231 class UUID < UID 232 233 end 234 235 class Internet_ID <UID 236 237 end 238 239 class ISO_OID <UID 240 241 end 175 242 end # of Identification 176 243 end # of Support -
ruby/trunk/lib/models/tests/test_reference_model.rb
r97 r98 154 154 assert_nothing_raised(Exception){@hier_object_id = OpenEHR::RM::Support::Identification::Hier_Object_ID.new('0.0.4')} 155 155 assert_nothing_raised(Exception){@locatable_ref = OpenEHR::RM::Support::Identification::Locatable_Ref.new('unknown', 'PERSON', @uid_based_id, 'data/event[at0001, standing]')} 156 assert_nothing_raised(Exception){@party_ref = OpenEHR::RM::Support::Identification::Party_Ref.new('unknown', 'ORGANISATION', @object_id)} 156 157 end 157 158 … … 166 167 assert_instance_of OpenEHR::RM::Support::Identification::Hier_Object_ID, @hier_object_id 167 168 assert_instance_of OpenEHR::RM::Support::Identification::Locatable_Ref, @locatable_ref 169 assert_instance_of OpenEHR::RM::Support::Identification::Party_Ref, @party_ref 168 170 end 169 171 … … 347 349 348 350 def test_locatable_ref 349 # test constructor function351 # test constructorpp 350 352 assert_equal 'unknown', @locatable_ref.namespace 351 353 assert_equal 'PERSON', @locatable_ref.type … … 358 360 assert_equal 'ehr://rrip::0.0.3/data/event[at0002, tilting]', @locatable_ref.as_uri 359 361 end 362 363 def test_party_ref 364 # test constructor 365 assert_equal 'unknown', @party_ref.namespace 366 assert_equal 'ORGANISATION', @party_ref.type 367 assert_equal @object_id, @party_ref.id 368 # test type validation 369 assert_raise(ArgumentError){@party_ref.type = 'GUIDELINE'} 370 assert_nothing_raised(Exception){@party_ref.type = 'PERSON'} 371 assert_equal 'PERSON', @party_ref.type 372 assert_nothing_raised(Exception){@party_ref.type = 'GROUP'} 373 assert_nothing_raised(Exception){@party_ref.type = 'AGENT'} 374 assert_nothing_raised(Exception){@party_ref.type = 'ROLE'} 375 assert_nothing_raised(Exception){@party_ref.type = 'PARTY'} 376 assert_nothing_raised(Exception){@party_ref.type = 'ACTOR'} 377 end 360 378 end
Note:
See TracChangeset
for help on using the changeset viewer.