Changeset 208


Ignore:
Timestamp:
Aug 17, 2009, 1:03:59 PM (15 years ago)
Author:
KOBAYASHI, Shinji
Message:

refs #54

Location:
ruby/branches/0.5
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ruby/branches/0.5/lib/open_ehr/rm/data_structures/item_structure.rb

    r207 r208  
    116116            end
    117117          end
     118
     119          def has_row_with_name?(key)
     120            raise ArgumentError, 'invalid argument' if key.nil? or key.empty?
     121            @rows.each do |row|
     122              return true if row.items[0].name.value == key
     123            end
     124            return false
     125          end
     126
     127          def has_column_with_name?(key)
     128            raise ArgumentError, 'invalid argument' if key.nil? or key.empty?
     129            self.column_names.each do |name|
     130              return true if name.value == key
     131            end
     132            return false
     133          end
     134
     135          def named_row(key)
     136            raise ArgumentError, 'invalid argument' unless has_row_with_name?(key)
     137            @rows.each do |row|
     138              return row if row.items[0].name.value = key
     139            end
     140            return []
     141          end
    118142        end
    119143      end # of ItemStructure
  • ruby/branches/0.5/spec/lib/open_ehr/rm/data_structures/item_structure/item_table_spec.rb

    r207 r208  
    7171    lambda {@item_table.ith_row(0) }.should raise_error(ArgumentError)
    7272  end
     73
     74  it 'should be true because it has_row_with_name cluster' do
     75    @item_table.has_row_with_name?('one').should be_true
     76  end
     77
     78  it 'should be true because it does not have_row_with_name key' do
     79    @item_table.has_row_with_name?('two').should_not be_true
     80  end
     81
     82  it 'should raise argument error key is nil' do
     83    lambda {@item_table.has_row_with_name?(nil)
     84      }.should raise_error(ArgumentError)
     85  end
     86
     87  it 'should raise argument error key is empty' do
     88    lambda {@item_table.has_row_with_name?('')
     89      }.should raise_error(ArgumentError)
     90  end
     91
     92  it 'should be true because it has_column_with_name one' do
     93    @item_table.has_column_with_name?('one').should be_true
     94  end
     95
     96  it 'second row should be named_row four' do
     97    @item_table.named_row('four').items[1].name.value = 'five'
     98  end
    7399end
Note: See TracChangeset for help on using the changeset viewer.