Changeset 154


Ignore:
Timestamp:
Jul 3, 2009, 10:08:26 PM (15 years ago)
Author:
KOBAYASHI, Shinji
Message:

fixed #65

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

Legend:

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

    r153 r154  
    134134
    135135        class Feeder_Audit
    136          
     136          attr_reader :originating_system_audit
     137          attr_accessor :originating_system_item_ids, :feeder_system_audit,
     138                        :feeder_system_item_ids, :original_content
     139
     140          def initialize(args = { })
     141            self.originating_system_audit = args[:originating_system_audit]
     142            self.originating_system_item_ids = args[:originating_system_item_ids]
     143            self.feeder_system_audit = args[:feeder_system_audit]
     144            self.feeder_system_item_ids = args[:feeder_system_item_ids]
     145            self.original_content = args[:original_content]
     146          end
     147
     148          def originating_system_audit=(originating_system_audit)
     149            if originating_system_audit.nil?
     150              raise ArgumentError, 'originating_system_audit must be not nil'
     151            end
     152            @originating_system_audit = originating_system_audit
     153          end
    137154        end # of Feeder_Audit
    138155
    139156        class Feeder_Audit_Details
    140157          attr_reader :system_id
     158          attr_accessor :provider, :location, :time, :subject, :version_id
    141159
    142160          def initialize(args ={ })
    143161            self.system_id = args[:system_id]
     162            self.provider = args[:provider]
     163            self.location = args[:location]
     164            self.time = args[:time]
     165            self.subject = args[:subject]
     166            self.version_id = args[:version_id]
    144167          end
    145168
  • ruby/trunk/lib/models/tests/rm/test_common.rb

    r153 r154  
    66include OpenEHR::RM::Common::Resource
    77include OpenEHR::RM::Common::Archetyped
     8include OpenEHR::RM::Common::Generic
    89
    910class RM_Common_Resource_Test < Test::Unit::TestCase
     
    2324  end
    2425end
     26
    2527
    2628class RM_Common_Archetyped_Test < Test::Unit::TestCase
     
    3840    assert_nothing_raised(Exception){
    3941      @locatable = OpenEHR::RM::Common::Archetyped::Locatable.new('at0001',name,links)}
    40     assert_nothing_raised(Exception){
    41       @feeder_audit_details = Feeder_Audit_Details.new(:system_id => 'MAGI')}
     42    provider = Party_Identified.new(:name => 'NERV')
     43    location = Party_Identified.new(:name => 'GEOFRONT')
     44    object_id = Object_ID.new('0.0.4')
     45    party_ref = Party_Ref.new('local', 'ORGANISATION', object_id)
     46    assert_nothing_raised(Exception){
     47      @feeder_audit_details = Feeder_Audit_Details.new(:system_id => 'MAGI',
     48                                                       :provider => provider,
     49                                                       :location => location,
     50                                                       :time => DV_Date_Time.new('2009-07-03T12:16:31'),
     51                                                       :subject => Party_Proxy.new(:external_ref => party_ref),
     52                                                       :version_id => '0.0.4')}
     53    feeder_audit_details = Feeder_Audit_Details.new(:system_id => 'AKAGI')
     54    dv_identifier = DV_Identifier.new('NERV', 'MELCHIOR', 'RITSUKO', 'COMPUTER')
     55    feeder_audit_details2 = Feeder_Audit_Details.new(:system_id => 'KATSURAGI')
     56    dv_identifier2 = DV_Identifier.new('NERV', 'SHOGOUKI', 'MISATO', 'EVANGELION')
     57    charset = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('UTF-8','character-sets')
     58    language = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('ja', 'languages')
     59
     60    dv_encapsulated = OpenEHR::RM::Data_Types::Encapsulated::DV_Encapsulated.new(charset, language, 10)
     61    assert_nothing_raised(Exception){
     62      @feeder_audit = Feeder_Audit.new(:originating_system_audit => feeder_audit_details,
     63                                       :originating_system_item_ids => [dv_identifier],
     64                                       :feeder_system_audit => feeder_audit_details2,
     65                                       :feeder_system_item_ids => [dv_identifier2],
     66                                       :original_content => dv_encapsulated)}
    4267  end
    4368
     
    4873    assert_instance_of OpenEHR::RM::Common::Archetyped::Locatable, @locatable
    4974    assert_instance_of Feeder_Audit_Details, @feeder_audit_details
     75    assert_instance_of Feeder_Audit, @feeder_audit
    5076  end
    5177
     
    85111
    86112  def test_feeder_audit
     113    assert_equal 'AKAGI', @feeder_audit.originating_system_audit.system_id
     114    assert_equal 'RITSUKO', @feeder_audit.originating_system_item_ids[0].issuer
     115    assert_equal 'KATSURAGI', @feeder_audit.feeder_system_audit.system_id
     116    assert_equal 'MISATO', @feeder_audit.feeder_system_item_ids[0].issuer
     117    assert_equal 'UTF-8', @feeder_audit.original_content.charset.code_string
    87118  end
    88119
    89120  def test_feeder_audit_detail
    90121    assert_equal 'MAGI', @feeder_audit_details.system_id
     122    assert_equal 'NERV', @feeder_audit_details.provider.name
     123    assert_equal 'GEOFRONT', @feeder_audit_details.location.name
     124    assert_equal 2009, @feeder_audit_details.time.year
     125    assert_equal 'local', @feeder_audit_details.subject.external_ref.namespace
     126    assert_equal '0.0.4', @feeder_audit_details.version_id
    91127  end
    92128end
Note: See TracChangeset for help on using the changeset viewer.