Changeset 132


Ignore:
Timestamp:
Jun 3, 2009, 8:04:40 PM (15 years ago)
Author:
KOBAYASHI, Shinji
Message:

refs #51

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

Legend:

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

    r131 r132  
    1010      module Encapsulated
    1111        class DV_Encapsulated  < OpenEHR::RM::Data_Types::Basic::Data_Value
    12           attr_reader :language, :charset
    13           def initialize(charset, language)
     12          attr_reader :language, :charset, :size
     13          def initialize(charset, language, size)
    1414            self.charset = charset
    1515            self.language = language
     16            self.size = size
    1617          end
    1718
    18           def size
    19             raise NotImplementedError, "size method not implemented"
     19          def size=(size)
     20            if size < 0
     21              raise ArgumentError, "negative size"
     22            end
     23            @size = size
    2024          end
    2125
     
    6771            @charset, @language = charset, language
    6872          end
    69           def size
    70             value.size
    71           end
    7273          private
    7374          def formalism_validity(formalism)
  • ruby/trunk/lib/models/tests/rm/test_data_types.rb

    r131 r132  
    203203    language = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('ja', 'languages')
    204204    assert_nothing_raised(Exception){
    205       @dv_encapsulated = OpenEHR::RM::Data_Types::Encapsulated::DV_Encapsulated.new(charset, language)}
     205      @dv_encapsulated = OpenEHR::RM::Data_Types::Encapsulated::DV_Encapsulated.new(charset, language, 10)}
     206    assert_nothing_raised(Exception){
     207      @dv_parsable = OpenEHR::RM::Data_Types::Encapsulated::Dv_Parsable.new(charset, language, 10, '','')}
     208    assert_nothing_raised(Exception){
     209    }
    206210  end
    207211
     
    209213    assert_instance_of OpenEHR::RM::Data_Types::Encapsulated::DV_Encapsulated, @dv_encapsulated
    210214  end
    211 end
     215
     216  def test_dv_encapsulated
     217    assert_equal 'UTF-8', @dv_encapsulated.charset.code_string
     218    assert_equal 'ja', @dv_encapsulated.language.code_string
     219    assert_equal 10, @dv_encapsulated.size
     220    wrong_charset = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('USO8000', 'character-sets')
     221    assert_raise(ArgumentError){@dv_encapsulated.charset = wrong_charset}
     222    charset = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('EUC-JP', 'character-sets')
     223    assert_nothing_raised(Exception){@dv_encapsulated.charset = charset}
     224    assert_equal 'EUC-JP', @dv_encapsulated.charset.code_string
     225    wrong_language = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('jpg', 'language')
     226    assert_raise(ArgumentError){@dv_encapsulated.language = wrong_language}
     227    language = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('eng', 'language')
     228    assert_nothing_raised(Exception){@dv_encapsulated.language = language}
     229    assert_equal 'eng', @dv_encapsulated.language.code_string
     230    assert_raise(ArgumentError){@dv_encapsulated.size = -1}
     231    assert_nothing_raised(Exception){@dv_encapsulated.size = 0}
     232    assert_equal 0, @dv_encapsulated.size
     233  end
     234
     235
     236end
Note: See TracChangeset for help on using the changeset viewer.