Changeset 410


Ignore:
Timestamp:
Apr 15, 2010, 8:58:25 PM (14 years ago)
Author:
KOBAYASHI, Shinji
Message:

Simple definition implemented

Location:
ruby/trunk
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/lib/open_ehr/serializer.rb

    r409 r410  
    182182      end
    183183
     184      def definition
     185        definition = ''
     186        ad = @archetype.definition
     187        xml = Builder::XmlMarkup.new(:indent => 2, :target => definition)
     188        xml.definition do
     189          xml.rm_type_name ad.rm_type_name
     190          xml.occurrence do
     191            oc = ad.occurrences
     192            xml.lower_included oc.lower_included? unless oc.lower_included?.nil?
     193            xml.upper_included oc.upper_included? unless oc.upper_included?.nil?
     194            xml.lower_unbounded oc.lower_unbounded?
     195            xml.upper_unbounded oc.upper_unbounded?
     196            xml.lower oc.lower
     197            xml.upper oc.lower
     198          end
     199          xml.node_id ad.node_id
     200        end
     201      end
     202
    184203      def merge
    185204
  • ruby/trunk/spec/lib/open_ehr/serializer/xml_serializer_spec.rb

    r409 r410  
    66describe XMLSerializer do
    77  it_should_behave_like 'sample archetype'
     8
     9  before(:all) do
     10    current_dir = File.dirname(__FILE__)
     11    xml_file = File.open(current_dir + '/openEHR-EHR-SECTION.test.v1.xml')
     12    xml = xml_file.readlines
     13    class << xml
     14      def unindent(s,e,num)
     15        self[s..e].collect{|line| line[num..-1]}.join
     16      end
     17    end
     18    @sample_header = xml.unindent(2, 11, 2)
     19    @sample_description = xml.unindent(12, 27, 2)
     20    @sample_definition = xml.unindent(28, 37, 2)
     21    xml_file.close
     22  end
    823
    924  before(:each) do
     
    1631
    1732  it 'should return XML formatted header' do
    18     @xml_serializer.header.should == <<END
    19 <archetype_id>
    20   <value>openEHR-EHR-SECTION.test.v1</value>
    21 </archetype_id>
    22 <concept>at0000</concept>
    23 <original_language>
    24   <terminology_id>
    25     <value>ISO_639-1</value>
    26   </terminology_id>
    27   <code_string>ja</code_string>
    28 </original_language>
    29 END
     33    @xml_serializer.header.should == @sample_header
    3034  end
    3135
    3236  it 'should return XML formatted description' do
    33     @xml_serializer.description.should == <<END
    34 <description>
    35   <original_author id="name">Shinji KOBAYASHI</original_author>
    36   <original_author id="organisation">openEHR.jp</original_author>
    37   <original_author id="email">skoba@moss.gr.jp</original_author>
    38   <lifecycle_state>draft</lifecycle_state>
    39   <details>
    40     <language>
    41       <terminology_id>
    42         <value>ISO_639-1</value>
    43       </terminology_id>
    44       <code_string>ja</code_string>
    45     </language>
    46     <purpose>Serializer test</purpose>
    47     <misuse>evaluate message</misuse>
    48   </details>
    49 </description>
    50 END
     37    @xml_serializer.description.should == @sample_description
    5138  end
    5239
    53   it 'should return XML formatted definition'
     40  it 'should return XML formatted definition' do
     41    @xml_serializer.definition.should == @sample_definition
     42  end
    5443
     44  def unindent(lines,n)
     45    return lines.collect{|line| line[n..-1]}.join
     46  end
    5547end
Note: See TracChangeset for help on using the changeset viewer.