Changeset 220 for ruby/branches


Ignore:
Timestamp:
Aug 20, 2009, 10:49:33 PM (15 years ago)
Author:
KOBAYASHI, Shinji
Message:

DvText modified

Location:
ruby/branches/0.5
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • ruby/branches/0.5/lib/open_ehr/rm/data_types/text.rb

    r216 r220  
    22# http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109067605961_209522_3179Report.html
    33# Ticket refs #48
     4include OpenEHR::RM::DataTypes::Basic
     5
    46module OpenEHR
    57  module RM
     
    6365
    6466        class DvText < OpenEHR::RM::DataTypes::Basic::DataValue
    65           attr_reader :value, :formatting, :hyperlink, :mappings
    66           attr_reader :language, :encoding
    67           def initialize(value, formatting = nil, hyperlink = nil,
    68                          mappings = nil, language = nil, encoding = nil)
    69             value_valid(value)
    70             DvText.formatting_valid(formatting)
    71             DvText.encoding_valid(encoding)
    72             DvText.mapping_valid(mappings)
    73             DvText.language_valid(language)
    74             @value, @formatting, @encoding = value, formatting, encoding
    75             @mappings, @language = mappings, language
     67          attr_reader :formatting, :hyperlink, :mappings,
     68                      :language, :encoding
     69
     70          def initialize(args = {})
     71            super(args)
     72            self.formatting = args[:formatting]
     73            self.encoding = args[:encoding]
     74            self.mappings = args[:mappings]
     75            self.language = args[:language]
    7676          end
     77
    7778          def value=(value)
    78             value_valid(value)
     79            if value.nil? or value.empty? or
     80                value.include? CR or value.include? LF
     81              raise ArgumentError, "value is not valid"
     82              # CR and LF are defined in Basic_Definition inherited DataValue.
     83            end
    7984            @value = value
    8085          end
     86
    8187          def formatting=(formatting)
    82             DvText.formatting_valid(formatting)
     88            unless formatting.nil? or formatting.empty?
     89              raise ArgumentError, "formatting is not valid"
     90            end
    8391            @formatting = formatting
    8492          end
     93
    8594          def encoding=(encoding)
    86             DvText.encoding_valid(encoding)
     95            unless encoding.nil? or encoding.empty?
     96              raise ArgumentError, "encoding is not valid"
     97            end
    8798            @encoding = encoding
    8899          end
    89100          def mappings=(mappings)
    90             DvText.mapping_valid(mappings)
     101            if !mappings.nil? and !mappings.instance_of? Set
     102              raise ArgumentError, "mapping(s) is(are) not valid"
     103            elsif !mappings.nil? and mappings.instance_of? Set and
     104                mappings.empty?
     105              raise ArgumentError, "mapping(s) is(are) not valid"
     106            end
    91107            @mappings = mappings
    92108          end
    93109          def language=(language)
    94             DvText.language_valid(language)
     110            unless language.nil? or language.empty?
     111              raise ArgumentError, "langage is not valid"
     112            end
    95113            @language = language
    96114          end
    97           private
    98           def value_valid(value)
    99             if value.nil? or value.empty? or value.include? CR or value.include? LF
    100               raise ArgumentError, "value is not valid"
    101               # CR and LF are defined in Basic_Definition inherited DataValue.
    102             end
    103           end
    104 
    105           class << self
    106 
    107             def formatting_valid(formatting)
    108               raise ArgumentError, "formatting is not valid" if formatting != nil and formatting.empty?
    109             end
    110 
    111             def encoding_valid(encoding)
    112               raise ArgumentError, "encoding is not valid" if encoding != nil and encoding.empty?
    113             end
    114 
    115             def mapping_valid(mapping)
    116               if !mapping.nil? and !mapping.instance_of? Set
    117                 raise ArgumentError, "mapping(s) is(are) not valid"
    118               elsif !mapping.nil? and mapping.instance_of? Set
    119                 raise ArgumentError, "mapping(s) is(are) not valid" if mapping.empty?
    120               end
    121             end
    122 
    123             def language_valid(language)
    124               raise ArgumentError, "langage is not valid" if language != nil and language.empty?
    125             end
    126           end
    127 
    128115        end
    129116
     
    131118          attr_reader :defining_code
    132119
    133           def initialize(value, defining_code, formatting = nil,
    134                          hyperlink = nil, mappings = nil, language = nil,
    135                          encoding = nil)
    136             super(value, formatting, hyperlink, mappings, language, encoding)
    137             self.defining_code = defining_code
     120          def initialize(args = {})
     121            super(args)
     122            self.defining_code = args[:defining_code]
    138123          end
    139124
    140125          def defining_code=(defining_code)
    141126            if defining_code.nil?
    142               raise ArgumentError, "Defiinition must be exist"
     127              raise ArgumentError, 'defiining code is mandatory'
    143128            end
    144129            @defining_code = defining_code
  • ruby/branches/0.5/spec/lib/open_ehr/rm/data_structures/item_structure/item_list_spec.rb

    r216 r220  
    77  before(:each) do
    88    items = %w{one two three}.collect do |n|
    9       Element.new(:name => DvText.new(n),
     9      Element.new(:name => DvText.new(:value => n),
    1010                  :archetype_node_id => 'test')
    1111    end
    12     item_list_name = DvText.new('item list')
     12    item_list_name = DvText.new(:value => 'item list')
    1313    @item_list = ItemList.new(:name => item_list_name,
    1414                              :archetype_node_id => 'test',
     
    3232
    3333  it 'retrieve the names of all items' do
    34     @item_list.names.should == %w{one two three}.collect{|n| DvText.new(n)}
     34    @item_list.names.should == %w{one two three}.collect{|n|
     35      DvText.new(:value => n)}
    3536  end
    3637
  • ruby/branches/0.5/spec/lib/open_ehr/rm/data_structures/item_structure/item_table_spec.rb

    r216 r220  
    77def row(args)
    88  return args.collect do |n|
    9     Element.new(:name => DvText.new(n),
     9    Element.new(:name => DvText.new(:value => n),
    1010                :archetype_node_id => 'test')
    1111  end
     
    1313
    1414def cluster_builder(name,rows)
    15   return Cluster.new(:name => DvText.new(name),
     15  return Cluster.new(:name => DvText.new(:value => name),
    1616                     :archetype_node_id => 'test',
    1717                     :items => rows)
     
    2323    row2 = row(%w{four five six})
    2424    rows = [row1, row2].collect{|r| cluster_builder('cluster',r)}
    25     @item_table = ItemTable.new(:name => DvText.new('item table'),
     25    @item_table = ItemTable.new(:name => DvText.new(:value => 'item table'),
    2626                                :archetype_node_id => 'test',
    2727                                :rows => rows)
     
    4747
    4848  it 's row_names should be cluster cluster' do
    49     @item_table.row_names.should == %w{cluster cluster}.collect{|n| DvText.new(n)}
     49    @item_table.row_names.should == %w{cluster cluster}.collect{|n|
     50      DvText.new(:value => n)}
    5051  end
    5152
     
    5657
    5758  it 's column_names should one two three' do
    58     @item_table.column_names.should == %w{one two three}.collect{|s| DvText.new(s)}
     59    @item_table.column_names.should == %w{one two three}.collect{|s|
     60      DvText.new(:value => s)}
    5961  end
    6062
  • ruby/branches/0.5/spec/lib/open_ehr/rm/data_structures/item_structure/item_tree_spec.rb

    r216 r220  
    88  before(:each) do
    99    items = %w{one two}.collect do |name|
    10       Element.new(:name => DvText.new(name),
     10      Element.new(:name => DvText.new(:value => name),
    1111                  :archetype_node_id => 'test')
    1212    end
    13     name = DvText.new('item tree')
     13    name = DvText.new(:value => 'item tree')
    1414    @item_tree = ItemTree.new(:name => name,
    1515                              :archetype_node_id => 'test',
  • ruby/branches/0.5/spec/lib/open_ehr/rm/data_types/basic/dv_state_spec.rb

    r217 r220  
    33include OpenEHR::RM::Support::Identification
    44include OpenEHR::RM::DataTypes::Text
     5
    56describe DvState do
    67  before(:each) do
    78    @terminology_id = TerminologyId.new('openher')
    89    code_phrase = CodePhrase.new('524', @terminology_id)
    9     dv_coded_text = DvCodedText.new("initial", code_phrase)
     10    dv_coded_text = DvCodedText.new(:value => "initial",
     11                                    :defining_code => code_phrase)
    1012    @dv_state = DvState.new(:value => dv_coded_text,
    1113                            :is_terminal => false)
     
    2224  it 'should change other value assigned' do
    2325    code_phrase = CodePhrase.new('526',@terminology_id)
    24     dv_coded_text = DvCodedText.new('planned', code_phrase)
     26    dv_coded_text = DvCodedText.new(:value =>'planned',
     27                                    :defining_code => code_phrase)
    2528    lambda {
    2629      @dv_state.value = dv_coded_text
Note: See TracChangeset for help on using the changeset viewer.