Changeset 156


Ignore:
Timestamp:
Jul 4, 2009, 7:39:20 PM (15 years ago)
Author:
KOBAYASHI, Shinji
Message:

refs #62

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

Legend:

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

    r155 r156  
    99      module Generic
    1010        class Audit_Details
     11          attr_reader :system_id, :committer, :time_committed, :change_type
     12          attr_accessor :description
     13
     14          def initialize(args = { })
     15            self.system_id = args[:system_id]
     16            self.committer = args[:committer]
     17            self.time_committed = args[:time_committed]
     18            self.change_type = args[:change_type]
     19            self.description = args[:description]
     20          end
     21
     22          def system_id=(system_id)
     23            if system_id.nil? or system_id.empty?
     24              raise ArgumentError, 'system_id is mandatory'
     25            end
     26            @system_id = system_id
     27          end
     28
     29          def committer=(committer)
     30            raise ArgumentError, 'committer is mandatory' if committer.nil?
     31            @committer = committer
     32          end
     33
     34          def time_committed=(time_committed)
     35            if time_committed.nil?
     36              raise ArgumentError, 'time_commited is mandatory'
     37            end
     38            @time_committed = time_committed
     39          end
     40
     41          def change_type=(change_type)
     42            raise ArgumentError, 'change_type is mandatory' if change_type.nil?
     43            @change_type = change_type
     44          end
    1145        end
     46
    1247        class Revision_History
    1348         
     
    75110          end
    76111        end
     112
     113        class Participation
     114          attr_reader :performer, :function, :mode
     115          attr_accessor :time
     116
     117          def initialize(args ={ })
     118            self.performer = args[:performer]
     119            self.function = args[:function]
     120            self.mode = args[:mode]
     121            self.time = args[:time]
     122          end
     123
     124          def performer=(performer)
     125            raise ArgumentError, 'performer is mandatory' if performer.nil?
     126            @performer = performer
     127          end
     128
     129          def function=(function)
     130            raise ArgumentError, 'function is mandatory' if function.nil?
     131            @function = function
     132          end
     133
     134          def mode=(mode)
     135            raise ArgumentError, 'mode is mandatory' if mode.nil?
     136            @mode = mode
     137          end
     138        end
    77139      end # of Generic
    78140    end # of Common
  • ruby/trunk/lib/models/tests/rm/test_common.rb

    r155 r156  
    99include OpenEHR::RM::Support::Identification
    1010include OpenEHR::RM::Data_Types::Basic
     11include OpenEHR::RM::Data_Types::Quantity
    1112
    1213class RM_Common_Resource_Test < Test::Unit::TestCase
     
    142143    assert_raise(ArgumentError){
    143144      party_identified = Party_Identified.new}
     145
    144146    identifiers = []
    145147    identifiers << DV_Identifier.new('NERV', 'MELCHIOR', 'GENDO', 'COMPUTER')
     
    150152                                               :external_ref => party_ref,
    151153                                               :identifier => identifiers)}
     154
    152155    terminology_id = Terminology_ID.new('test','0.04')
    153156    code_phrase = Code_Phrase.new('self', terminology_id)
    154     dv_coded_text = DV_Coded_Text.new('Seele',terminology_id)
     157    dv_coded_text = DV_Coded_Text.new('Seele',code_phrase)
    155158    assert_nothing_raised(Exception){
    156159      @party_related = Party_Related.new(:name => 'GEHIRN',
    157160                                         :relationship => dv_coded_text)}
    158                                          
    159 
     161    dv_text = DV_Text.new('commiter')
     162    dv_coded_text = DV_Coded_Text.new('present',terminology_id)
     163    dv_date_time1 = DV_Date_Time.new('2009-07-04T16:30:00')
     164    dv_date_time2 = DV_Date_Time.new('2009-07-14T00:00:00')
     165    dv_interval = DV_Interval.new(dv_date_time1, dv_date_time2)
     166    assert_nothing_raised(Exception){
     167      @participation = Participation.new(:performer => @party_proxy,
     168                                         :function => dv_text,
     169                                         :mode => dv_coded_text,
     170                                         :time => dv_interval)}
     171    dv_date_time = DV_Date_Time.new('2009-07-04T18:56:00')
     172    terminology_id = Terminology_ID.new('openehr','1.0.2')
     173    code_phrase = Code_Phrase.new('249', terminology_id)
     174    dv_coded_text = DV_Coded_Text.new('creation', code_phrase)
     175    dv_text = DV_Text.new('test environment')
     176    assert_nothing_raised(Exception){
     177      @audit_details = Audit_Details.new(:system_id => 'MAGI',
     178                                         :committer => @party_proxy,
     179                                         :time_committed => dv_date_time,
     180                                         :change_type => dv_coded_text,
     181                                         :description => dv_text)}
    160182#    change_type = OpenEHR::RM::Data_Types::Text::DV_Text.new('audit_type')
    161183#    time_committed = OpenEHR::RM::Data_Types::Quantity::Date_Time::DV_Date_Time.new(2008)
     
    167189    assert_instance_of Party_Self, @party_self
    168190    assert_instance_of Party_Identified, @party_identified
     191    assert_instance_of Participation, @participation
     192    assert_instance_of Audit_Details, @audit_details
    169193  end
    170194
     
    191215    assert_equal 'GEHIRN', @party_related.name
    192216  end
     217
     218  def test_participation
     219    assert_equal 'unknown', @participation.performer.external_ref.namespace
     220    assert_equal 'commiter', @participation.function.value
     221    assert_equal 'present', @participation.mode.value
     222    assert_equal 2009, @participation.time.lower.year
     223  end
     224
     225  def test_audit_details
     226    assert_equal 'MAGI', @audit_details.system_id
     227    assert_equal 'unknown', @audit_details.committer.external_ref.namespace
     228    assert_equal '2009-07-04T18:56:00', @audit_details.time_committed.as_string
     229    assert_equal 'creation', @audit_details.change_type.value
     230    assert_equal 'test environment', @audit_details.description.value
     231  end
    193232end
    194233
Note: See TracChangeset for help on using the changeset viewer.