Changeset 195


Ignore:
Timestamp:
Aug 14, 2009, 8:11:44 PM (15 years ago)
Author:
KOBAYASHI, Shinji
Message:

refs #54

Location:
ruby/branches/0.5
Files:
1 added
3 edited

Legend:

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

    r194 r195  
    3232          attr_accessor :items
    3333
     34          def initialize(args = {})
     35            super(args)
     36            self.items = args[:items]
     37          end
     38
    3439          def item_count
    3540            unless @items.nil?
     
    3944            end
    4045          end
     46
     47          def names
     48            return @items.collect{|item| item.name}
     49          end
     50
     51          def named_item(a_name)
     52            @items.each do |item|
     53              return item if item.name.value == a_name
     54            end
     55            retrun nil
     56          end
     57
     58          def ith_item(i)
     59            return @items[i]
     60          end
     61
     62          def as_hierarchy
     63            return Cluster.new(:name => @name,
     64                               :archetype_node_id => @archetype_node_id,
     65                               :items => @items)
     66          end
    4167        end
    4268      end # of ItemStructure
  • ruby/branches/0.5/lib/open_ehr/rm/data_types/basic.rb

    r167 r195  
    1111        class DataValue
    1212          include OpenEhr::RM::Support::Definition::BasicDefinition
     13          def ==(other)
     14            return self.value == other.value
     15          end
    1316        end
    1417
     
    2528            end
    2629          end
     30
    2731          def value?
    2832            @value == true
  • ruby/branches/0.5/spec/lib/openehr/rm/data_structure/item_structure/item_list_spec.rb

    r194 r195  
    11require File.dirname(__FILE__) + '/../../../../../spec_helper'
    22include OpenEhr::RM::DataStructures::ItemStructure
     3include OpenEhr::RM::DataStructures::ItemStructure::Representation
    34include OpenEhr::RM::DataTypes::Text
    45
    56describe ItemList do
    67  before(:each) do
     8    items = %w{one two three}.collect do |n|
     9      Element.new(:name => DvText.new(n),
     10                  :archetype_node_id => 'test')
     11    end
    712    item_list_name = DvText.new('item list')
    813    @item_list = ItemList.new(:name => item_list_name,
    9                               :archetype_node_id => 'test')
     14                              :archetype_node_id => 'test',
     15                              :items => items)
     16   
    1017  end
    1118
     
    1421  end
    1522
    16   it 'count should be 0' do
    17     @item_list.item_count.should equal 0
     23  it 'count should be 3' do
     24    @item_list.item_count.should be_equal 3
    1825  end
    1926
    20   it 'count should be change to 3' do
    21     dummy_elements = [1,2,3]
    22     @item_list.items = dummy_elements
    23     @item_list.item_count.should equal 3
     27  it 'count should be 0' do
     28    @item_list.items = nil
     29    @item_list.item_count.should be_equal 0
     30  end
     31
     32
     33  it 'retrieve the names of all items' do
     34    @item_list.names.should == %w{one two three}.collect{|n| DvText.new(n)}
     35  end
     36
     37  it 'retrieve the item with a name' do
     38    @item_list.named_item('one').name.value.should == 'one'
     39  end
     40
     41  it 'retrieve the ith item with number' do
     42    @item_list.ith_item(1).name.value.should == 'two'
     43  end
     44
     45  it 'generate cluster of items' do
     46    @item_list.as_hierarchy.name.value.should == 'item list'
    2447  end
    2548end
Note: See TracChangeset for help on using the changeset viewer.