Changeset 90


Ignore:
Timestamp:
Jul 27, 2008, 7:45:35 PM (16 years ago)
Author:
KOBAYASHI, Shinji
Message:

refs #38, #39, #48

Location:
ruby/trunk/lib/models
Files:
4 edited
1 moved

Legend:

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

    r26 r90  
    2020    module Support
    2121      autoload :Definition, "rm/support/definition.rb"
    22 
    23       module Identification
    24         autoload :OBJECT_ID, "rm/support/identification.rb"
    25       end
    26 
    27       module Terminology
    28         autoload :Terminology, "rm/support/terminology.rb"
    29       end
     22      autoload :Identification, "rm/support/identification.rb"
     23      autoload :Terminology, "rm/support/terminology.rb"
    3024    end
    3125
  • ruby/trunk/lib/models/rm/data_types/text.rb

    r89 r90  
    3030          end
    3131          private
    32           def match_valid(mach)
    33             raise ArgumentError, "match is not valid" if self.is_valid_mach_code? match
     32          def match_valid(match)
     33            raise ArgumentError, "match is not valid" if !Term_Mapping.is_valid_mach_code? match
    3434          end
    3535          def purpose_valid(purpose)
    36             if !purpose.nil? and !purpose.instance_of? DV_Coded_Text
     36            if purpose.nil? or !purpose.instance_of? DV_Coded_Text
    3737              raise ArgumentError, "purpose is not valid"
    3838            end
  • ruby/trunk/lib/models/rm/support/identification.rb

    r26 r90  
     1# This module is an implementation of this UML:
     2# http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109331021343_528780_2066Report.html
     3# Ticket refs #39
    14module OpenEHR
    25  module RM
     
    47      module Identification
    58
    6         class OBJECT_ID
    7           attr_accessor :value
     9        class Object_ID
     10          attr_reader :value
    811
    9           def initiallize(value)
    10             raise "empty value" unless value
    11             @value = value
     12          def initialize(value)
     13            self.value=value
     14          end
     15
     16          def value=(value)
     17            raise "empty value" if value.nil? or value.empty?
     18            @value = value           
    1219          end
    1320        end # of ObjectID
    14 
    15         class ARCHETYPE_ID < OBJECT_ID
     21       
     22        class Archetype_ID < Object_ID
    1623        end
    1724
    18         class TERMINOLOGY_ID < OBJECT_ID
     25        class Terminology_ID < Object_ID
    1926          attr_reader :name
    2027
    2128          def initialize(name , version_id)
    2229            @name , @version_id = name , version_id
    23 #             if arg1 == nil
    24 #               super(arg0)
    25 #             else
    26 #               super(toValue(arg0, arg1))
    27 #               @name = arg0
    28 #               @version = arg1     
    29 #             end
    3030          end
    3131
     
    5757            name + (version == nil ? "" : "(" + version + ")")
    5858          end
    59         end # of TerminologyID
     59        end # of Terminology_ID
    6060      end # of Definition
    6161    end # of Support
  • ruby/trunk/lib/models/tests/test_reference_model.rb

    r89 r90  
    1818    @dv_coded_text = OpenEHR::RM::Data_Types::Text::DV_Coded_Text.new("valid value", "AT1000")
    1919    @dv_paragraph = OpenEHR::RM::Data_Types::Text::DV_Paragraph.new(Set.new(["test1", "test2"]))
     20    @term_mapping = OpenEHR::RM::Data_Types::Text::Term_Mapping.new('=',@dv_coded_text,"TEST")
     21#    @code_phrase = OpenEHR::RM::Data_Types::Text::Code_Phrase.new
    2022#    @agent = OpenEHR::RM::Demogrphic::Agent.new
    2123#    @organisation = OpenEHR::RM::Demogrphic::Organisation.new
     
    3436    assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Text, @dv_text
    3537    assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Coded_Text, @dv_coded_text
     38    assert_instance_of OpenEHR::RM::Data_Types::Text::Term_Mapping, @term_mapping
    3639#    assert_instance_of OpenEHR::RM::Demogrphic::Agent, @agent
    3740#    assert_instance_of OpenEHR::RM::Demogrphic::Organisation, @organisation
     
    125128  end
    126129
    127   def test_terminology_mapping
    128    
     130  def test_term_mapping
     131    assert_equal '=', @term_mapping.match
     132    assert OpenEHR::RM::Data_Types::Text::Term_Mapping.is_valid_mach_code?('>')
     133    assert OpenEHR::RM::Data_Types::Text::Term_Mapping.is_valid_mach_code?('=')
     134    assert OpenEHR::RM::Data_Types::Text::Term_Mapping.is_valid_mach_code?('<')
     135    assert OpenEHR::RM::Data_Types::Text::Term_Mapping.is_valid_mach_code?('?')
     136    assert !OpenEHR::RM::Data_Types::Text::Term_Mapping.is_valid_mach_code?('!')
     137    assert_equal @dv_coded_text, @term_mapping.purpose
     138    assert_equal "TEST", @term_mapping.target
     139    assert_raise(ArgumentError){OpenEHR::RM::Data_Types::Text::Term_Mapping.new}
     140    assert_raise(ArgumentError){OpenEHR::RM::Data_Types::Text::Term_Mapping.new('!',@dv_coded_text, "invalid case")}
     141    assert_raise(ArgumentError){OpenEHR::RM::Data_Types::Text::Term_Mapping.new('=',nil , "invalid case")}
     142    assert_raise(ArgumentError){OpenEHR::RM::Data_Types::Text::Term_Mapping.new('=',@dv_coded_text, nil)}
    129143  end
    130144end
    131145
    132 
    133146class ReferenceModelSupportIdentificationTest < Test::Unit::TestCase
    134147  def setup
    135     @object_id = OpenEHR::RM::Support::Identification::OBJECT_ID.new
    136     @terminology_id = OpenEHR::RM::Support::Identification::TERMINOLOGY_ID.new('terminology','version')
    137     @archetype_id = OpenEHR::RM::Support::Identification::ARCHETYPE_ID.new
     148    assert_nothing_raised(Exception){@object_id = OpenEHR::RM::Support::Identification::Object_ID.new("0.0.3")}
     149    @terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new('terminology','version')
     150    @archetype_id = OpenEHR::RM::Support::Identification::Archetype_ID.new("0.0.3")
    138151  end
    139152 
    140153  def test_init
    141     assert_instance_of OpenEHR::RM::Support::Identification::OBJECT_ID, @object_id
    142     assert_instance_of OpenEHR::RM::Support::Identification::TERMINOLOGY_ID, @terminology_id
    143     assert_instance_of OpenEHR::RM::Support::Identification::ARCHETYPE_ID, @archetype_id
     154    assert_instance_of OpenEHR::RM::Support::Identification::Object_ID, @object_id
     155    assert_instance_of OpenEHR::RM::Support::Identification::Terminology_ID, @terminology_id
     156    assert_instance_of OpenEHR::RM::Support::Identification::Archetype_ID, @archetype_id
     157  end
    144158
    145   end
    146159end
Note: See TracChangeset for help on using the changeset viewer.