Changeset 220
- Timestamp:
- Aug 20, 2009, 10:49:33 PM (15 years ago)
- 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 2 2 # http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109067605961_209522_3179Report.html 3 3 # Ticket refs #48 4 include OpenEHR::RM::DataTypes::Basic 5 4 6 module OpenEHR 5 7 module RM … … 63 65 64 66 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] 76 76 end 77 77 78 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 79 84 @value = value 80 85 end 86 81 87 def formatting=(formatting) 82 DvText.formatting_valid(formatting) 88 unless formatting.nil? or formatting.empty? 89 raise ArgumentError, "formatting is not valid" 90 end 83 91 @formatting = formatting 84 92 end 93 85 94 def encoding=(encoding) 86 DvText.encoding_valid(encoding) 95 unless encoding.nil? or encoding.empty? 96 raise ArgumentError, "encoding is not valid" 97 end 87 98 @encoding = encoding 88 99 end 89 100 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 91 107 @mappings = mappings 92 108 end 93 109 def language=(language) 94 DvText.language_valid(language) 110 unless language.nil? or language.empty? 111 raise ArgumentError, "langage is not valid" 112 end 95 113 @language = language 96 114 end 97 private98 def value_valid(value)99 if value.nil? or value.empty? or value.include? CR or value.include? LF100 raise ArgumentError, "value is not valid"101 # CR and LF are defined in Basic_Definition inherited DataValue.102 end103 end104 105 class << self106 107 def formatting_valid(formatting)108 raise ArgumentError, "formatting is not valid" if formatting != nil and formatting.empty?109 end110 111 def encoding_valid(encoding)112 raise ArgumentError, "encoding is not valid" if encoding != nil and encoding.empty?113 end114 115 def mapping_valid(mapping)116 if !mapping.nil? and !mapping.instance_of? Set117 raise ArgumentError, "mapping(s) is(are) not valid"118 elsif !mapping.nil? and mapping.instance_of? Set119 raise ArgumentError, "mapping(s) is(are) not valid" if mapping.empty?120 end121 end122 123 def language_valid(language)124 raise ArgumentError, "langage is not valid" if language != nil and language.empty?125 end126 end127 128 115 end 129 116 … … 131 118 attr_reader :defining_code 132 119 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] 138 123 end 139 124 140 125 def defining_code=(defining_code) 141 126 if defining_code.nil? 142 raise ArgumentError, "Defiinition must be exist"127 raise ArgumentError, 'defiining code is mandatory' 143 128 end 144 129 @defining_code = defining_code -
ruby/branches/0.5/spec/lib/open_ehr/rm/data_structures/item_structure/item_list_spec.rb
r216 r220 7 7 before(:each) do 8 8 items = %w{one two three}.collect do |n| 9 Element.new(:name => DvText.new( n),9 Element.new(:name => DvText.new(:value => n), 10 10 :archetype_node_id => 'test') 11 11 end 12 item_list_name = DvText.new( 'item list')12 item_list_name = DvText.new(:value => 'item list') 13 13 @item_list = ItemList.new(:name => item_list_name, 14 14 :archetype_node_id => 'test', … … 32 32 33 33 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)} 35 36 end 36 37 -
ruby/branches/0.5/spec/lib/open_ehr/rm/data_structures/item_structure/item_table_spec.rb
r216 r220 7 7 def row(args) 8 8 return args.collect do |n| 9 Element.new(:name => DvText.new( n),9 Element.new(:name => DvText.new(:value => n), 10 10 :archetype_node_id => 'test') 11 11 end … … 13 13 14 14 def cluster_builder(name,rows) 15 return Cluster.new(:name => DvText.new( name),15 return Cluster.new(:name => DvText.new(:value => name), 16 16 :archetype_node_id => 'test', 17 17 :items => rows) … … 23 23 row2 = row(%w{four five six}) 24 24 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'), 26 26 :archetype_node_id => 'test', 27 27 :rows => rows) … … 47 47 48 48 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)} 50 51 end 51 52 … … 56 57 57 58 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)} 59 61 end 60 62 -
ruby/branches/0.5/spec/lib/open_ehr/rm/data_structures/item_structure/item_tree_spec.rb
r216 r220 8 8 before(:each) do 9 9 items = %w{one two}.collect do |name| 10 Element.new(:name => DvText.new( name),10 Element.new(:name => DvText.new(:value => name), 11 11 :archetype_node_id => 'test') 12 12 end 13 name = DvText.new( 'item tree')13 name = DvText.new(:value => 'item tree') 14 14 @item_tree = ItemTree.new(:name => name, 15 15 :archetype_node_id => 'test', -
ruby/branches/0.5/spec/lib/open_ehr/rm/data_types/basic/dv_state_spec.rb
r217 r220 3 3 include OpenEHR::RM::Support::Identification 4 4 include OpenEHR::RM::DataTypes::Text 5 5 6 describe DvState do 6 7 before(:each) do 7 8 @terminology_id = TerminologyId.new('openher') 8 9 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) 10 12 @dv_state = DvState.new(:value => dv_coded_text, 11 13 :is_terminal => false) … … 22 24 it 'should change other value assigned' do 23 25 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) 25 28 lambda { 26 29 @dv_state.value = dv_coded_text
Note:
See TracChangeset
for help on using the changeset viewer.