[205] | 1 | require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
---|
| 2 | include OpenEhr::RM::DataStructures::ItemStructure
|
---|
| 3 | include OpenEhr::RM::DataStructures::ItemStructure::Representation
|
---|
| 4 | include OpenEhr::RM::DataTypes::Text
|
---|
| 5 |
|
---|
| 6 | describe ItemList do
|
---|
| 7 | 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
|
---|
| 12 | item_list_name = DvText.new('item list')
|
---|
| 13 | @item_list = ItemList.new(:name => item_list_name,
|
---|
| 14 | :archetype_node_id => 'test',
|
---|
| 15 | :items => items)
|
---|
| 16 |
|
---|
| 17 | end
|
---|
| 18 |
|
---|
| 19 | it 'should be instance of ItemList' do
|
---|
| 20 | @item_list.should be_an_instance_of ItemList
|
---|
| 21 | end
|
---|
| 22 |
|
---|
| 23 | it 'count should be 3' do
|
---|
| 24 | @item_list.item_count.should be_equal 3
|
---|
| 25 | end
|
---|
| 26 |
|
---|
| 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'
|
---|
| 47 | end
|
---|
| 48 | end
|
---|