Changeset 103


Ignore:
Timestamp:
Sep 21, 2008, 3:53:25 PM (16 years ago)
Author:
KOBAYASHI, Shinji
Message:

refs #65

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

Legend:

Unmodified
Added
Removed
  • ruby/trunk/lib/models/rm/common/archetyped.rb

    r102 r103  
    8181          end
    8282        end
     83
    8384        class Archetyped
    8485          attr_reader :archetype_id, :rm_version
     
    9899          end
    99100        end
     101        class Link
     102          attr_reader :meaning, :target, :type
     103          def initialize(meaning, target, type)
     104            self.meaning = meaning
     105            self.target = target
     106            self.type = type
     107          end
     108          def meaning=(meaning)
     109            raise ArgumentError, "meaning should not be nil" if meaning.nil?
     110            @meaning = meaning
     111          end
     112          def target=(target)
     113            raise ArgumentError, "target should not be nil" if target.nil?
     114            @target = target
     115          end
     116          def type=(type)
     117            raise ArgumentError, "type should not be nil" if type.nil?
     118            @type = type
     119
     120          end
     121        end
    100122      end # end of Archetyped
    101123    end # end of Common
  • ruby/trunk/lib/models/rm/data_types/uri.rb

    r4 r103  
    2525        class DV_URI < OpenEHR::RM::Data_Types::Basic::Data_Value
    2626          def initialize(value)
    27             raise ArgumentError, "value is empty" if value.nil?
    28             parse(value)
     27            self.value = value
    2928          end
    3029          def fragment_id
     
    4140          end
    4241          def value=(value)
     42            raise ArgumentError, "value is empty" if value.nil?
    4343            parse(value)
    4444          end
     
    5353        class DV_EHR_URI < DV_URI
    5454          def initialize(value)
    55             check_value(value)
    5655            super(value)
    5756          end
    5857          def value=(value)
    59             check_value(value)
     58            raise ArgumentError, "scheme must be ehr" if !(value =~ /^ehr/i)
    6059            parse(value)
    61           end
    62           private
    63           def check_value(value)
    64             if !(value =~ /^ehr/i)
    65               raise ArgumentError, "scheme must be ehr"
    66             end
    6760          end
    6861        end # of DV_EHR_URI
  • ruby/trunk/lib/models/tests/test_reference_model.rb

    r102 r103  
    415415    @template_id = OpenEHR::RM::Support::Identification::Template_ID.new('1.0.1')
    416416    assert_nothing_raised(Exception){@archetyped = OpenEHR::RM::Common::Archetyped::Archetyped.new(@archetype_id, '1.0.1')}
     417    assert_nothing_raised(Exception){@link = OpenEHR::RM::Common::Archetyped::Link.new(OpenEHR::RM::Data_Types::Text::DV_Text.new("generic"), OpenEHR::RM::Data_Types::URI::DV_EHR_URI.new("ehr://test/"),OpenEHR::RM::Data_Types::Text::DV_Text.new("problem"))}
    417418   
    418419  end
    419420  def test_init
    420421    assert_instance_of OpenEHR::RM::Common::Archetyped::Archetyped, @archetyped
     422    assert_instance_of OpenEHR::RM::Common::Archetyped::Link, @link
    421423  end
    422424  def test_archetyped
     
    434436    assert_equal '1.0.2', @archetyped.rm_version
    435437  end
     438  def test_link
     439    # test constructor
     440    assert_equal 'generic', @link.meaning.value
     441    assert_equal 'ehr://test/', @link.target.value
     442    assert_equal 'problem', @link.type.value
     443    # test meaning
     444    assert_nothing_raised(Exception){@link.meaning = OpenEHR::RM::Data_Types::Text::DV_Text.new('clinical')}
     445    assert_equal 'clinical', @link.meaning.value
     446    assert_raise(ArgumentError){@link.meaning = nil}
     447    # test target
     448    assert_nothing_raised(Exception){@link.target = OpenEHR::RM::Data_Types::URI::DV_EHR_URI.new("ehr://try/")}
     449    assert_equal 'ehr://try/', @link.target.value
     450    assert_raise(ArgumentError){@link.target = nil}
     451    # test type
     452    assert_nothing_raised(Exception){@link.type = OpenEHR::RM::Data_Types::Text::DV_Text.new("issue")}
     453    assert_equal 'issue', @link.type.value
     454    assert_raise(ArgumentError){@link.type = nil}
     455  end
    436456end
Note: See TracChangeset for help on using the changeset viewer.