Changeset 93


Ignore:
Timestamp:
Jul 29, 2008, 10:56:57 PM (16 years ago)
Author:
KOBAYASHI, Shinji
Message:

refs #39
fixed UID_Based_ID

Location:
ruby/trunk/lib/models
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/lib/models/rm/support/identification.rb

    r92 r93  
    9696          end
    9797        end # of Generic_ID
    98 
    99       end # of Definition
     98        class UID_Based_ID < Object_ID
     99          def initialize(value)
     100            super(value)
     101          end
     102          def extension
     103            if self.has_extension?
     104              @value[/::.*/][2..-1]
     105            else
     106              ''
     107            end
     108          end
     109          def has_extension?
     110            @value.include? '::'
     111          end
     112          def root
     113            if self.has_extension?
     114              @value[/.*::/][0..-3]
     115            else
     116              @value
     117            end
     118          end
     119        end
     120      end # of Identification
    100121    end # of Support
    101122  end # of RM
  • ruby/trunk/lib/models/tests/test_reference_model.rb

    r92 r93  
    150150    assert_nothing_raised(Exception){@terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new("0.0.7", 'terminology','0.0.3')}
    151151    assert_nothing_raised(Exception){@generic_id = OpenEHR::RM::Support::Identification::Generic_ID.new("0.0.3", "openehr")}
    152     assert_nothing_raised(Exception){@uid_based_id = OpenEHR::RM::Support::Identification::UID_Based_ID.new('rrip::0.0.3')
     152    assert_nothing_raised(Exception){@uid_based_id = OpenEHR::RM::Support::Identification::UID_Based_ID.new('rrip::0.0.3')}
    153153  end
    154154 
     
    158158    assert_instance_of OpenEHR::RM::Support::Identification::Terminology_ID, @terminology_id
    159159    assert_instance_of OpenEHR::RM::Support::Identification::Object_ID, @object_id
    160     assert_instance_of OpenEHR::RM::Support::Identification::UID
     160    assert_instance_of OpenEHR::RM::Support::Identification::UID_Based_ID, @uid_based_id
    161161  end
    162162
     
    279279    assert_equal "cen", @generic_id.scheme
    280280  end
     281  def test_uid_based_id
     282    assert_equal "rrip::0.0.3", @uid_based_id.value
     283    assert_equal "rrip", @uid_based_id.root
     284    assert_equal '0.0.3', @uid_based_id.extension
     285    assert @uid_based_id.has_extension?
     286
     287    assert_raise(ArgumentError){@uid_based_id = OpenEHR::RM::Support::Identification::UID_Based_ID.new(nil)}
     288    assert_raise(ArgumentError){@uid_based_id = OpenEHR::RM::Support::Identification::UID_Based_ID.new('')}
     289    assert_raise(ArgumentError){@uid_based_id.value = nil}
     290    assert_raise(ArgumentError){@uid_based_id.value = ''}
     291
     292    assert_nothing_raised(Exception){@uid_based_id.value = 'rrip'}
     293    assert_equal 'rrip', @uid_based_id.value
     294    assert_equal 'rrip', @uid_based_id.root
     295    assert_equal '', @uid_based_id.extension
     296  end
    281297end
Note: See TracChangeset for help on using the changeset viewer.