source: ruby/trunk/spec/lib/open_ehr/rm/demographic/party_relationship_spec.rb@ 369

Last change on this file since 369 was 369, checked in by KOBAYASHI, Shinji, 14 years ago

merge from branches/0.5

File size: 2.7 KB
Line 
1require File.dirname(__FILE__) + '/../../../../spec_helper'
2include OpenEHR::RM::Demographic
3include OpenEHR::RM::DataTypes::Text
4include OpenEHR::RM::DataTypes::Quantity::DateTime
5include OpenEHR::RM::Support::Identification
6include OpenEHR::RM::DataStructures::ItemStructure
7
8describe PartyRelationship do
9 before(:each) do
10 name = DvText.new(:value => 'party relation')
11 uid = HierObjectID.new(:value => '01')
12 details = stub(ItemStructure, :archetype_node_id => 'at0002')
13 upper = DvDate.new(:value => '2009-11-21')
14 time_validity = stub(DvInterval, :upper => upper)
15 source_id = ObjectID.new(:value => '01')
16 source = stub(PartyRef, :id => source_id, :type => 'source')
17 target_id = ObjectID.new(:value => '02')
18 target = stub(PartyRef, :id => target_id)
19 @party_relationship =
20 PartyRelationship.new(:archetype_node_id => 'at0000',
21 :name => name,
22 :uid => uid,
23 :details => details,
24 :time_validity => time_validity,
25 :source => source,
26 :target => target)
27 end
28
29 it 'should be an instance of PartyRelationship' do
30 @party_relationship.should be_an_instance_of PartyRelationship
31 end
32
33 it 'uid should be assigned properly' do
34 @party_relationship.uid.value.should == '01'
35 end
36
37 it 'should raise ArgumentError when nil assigned to uid' do
38 lambda {
39 @party_relationship.uid = nil
40 }.should raise_error ArgumentError
41 end
42
43 it 'details should be assigned properly' do
44 @party_relationship.details.archetype_node_id.should == 'at0002'
45 end
46
47 it 'time_validity should be assigned properly' do
48 @party_relationship.time_validity.upper.value.should == '2009-11-21'
49 end
50
51 it 'source should be_assigned properly' do
52 @party_relationship.source.type.should == 'source'
53 end
54
55 it 'should raise ArgumentError when source is assinged nil' do
56 lambda {
57 @party_relationship.source = nil
58 }.should raise_error ArgumentError
59 end
60
61 it 'should raise ArgumentError when source is not matched with source' do
62 invalid_id = ObjectID.new(:value => '10')
63 invalid_source = stub(PartyRef, :id => invalid_id)
64 lambda {
65 @party_relationship.source = invalid_source
66 }.should raise_error ArgumentError
67 end
68
69 it 'target should be assined properly' do
70 @party_relationship.target.id.value.should == '02'
71 end
72
73 it 'should raise ArgumentError with target is assigned by nil' do
74 lambda {
75 @party_relationship.target =nil
76 }.should raise_error ArgumentError
77 end
78
79 it 'type should be inherited of name' do
80 @party_relationship.type.value.should == 'party relation'
81 end
82end
83
84
Note: See TracBrowser for help on using the repository browser.