source: ruby/branches/0.5/spec/lib/open_ehr/rm/demographic/actor_spec.rb@ 363

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

refs #45 Actor, Person, Organisation, Group, Agent

File size: 2.3 KB
Line 
1require File.dirname(__FILE__) + '/../../../../spec_helper'
2include OpenEHR::RM::Demographic
3include OpenEHR::RM::DataTypes::Text
4include OpenEHR::RM::Support::Identification
5
6describe Actor do
7 before(:each) do
8 name = DvText.new(:value => 'actor')
9 uid = HierObjectID.new(:value => '01')
10 identities = stub(Set, :empty? => false)
11 roles = stub(Set, :size => 2, :empty? => false)
12 languages = stub(Array, :size => 3, :empty? => false)
13 @actor = Actor.new(:archetype_node_id => 'at0000',
14 :name => name,
15 :uid => uid,
16 :identities => identities,
17 :roles => roles,
18 :languages => languages)
19 end
20
21 it 'should be an instance of Actor' do
22 @actor.should be_an_instance_of Actor
23 end
24
25 it 'roles should be assigned properly' do
26 @actor.roles.size.should be_equal 2
27 end
28
29 it 'should raise ArgumentError with empty roles' do
30 lambda {
31 @actor.roles = Set.new
32 }.should raise_error ArgumentError
33 end
34
35 it 'should not raise ArgumentError with nil roles' do
36 lambda {
37 @actor.roles = nil
38 }.should_not raise_error ArgumentError
39 end
40
41 it 'languages should be assigned properly' do
42 @actor.languages.size.should be_equal 3
43 end
44
45 it 'should raise ArgumentError with empty languages' do
46 lambda {
47 @actor.languages = Set.new
48 }.should raise_error ArgumentError
49 end
50
51 it 'should not raise ArgumentError with nil languages' do
52 lambda {
53 @actor.languages = nil
54 }.should_not raise_error ArgumentError
55 end
56
57 describe 'has_legal_identity' do
58 before(:each) do
59 @dummy_purpose = DvText.new(:value => 'dummy')
60 @dummy_identity = stub(PartyIdentity, :purpose => @dummy_purpose)
61 end
62
63 it 'should not have legal identity' do
64 identity = stub(PartyIdentity, :purpose => @dummy_purpose)
65 identities = [identity, @dummy_identity].to_set
66 @actor.identities = identities
67 @actor.has_legal_identity?.should be_false
68 end
69
70 it 'should have legal identity' do
71 legal_purpose = DvText.new(:value => 'legal identity')
72 legal_identity = stub(PartyIdentity, :purpose => legal_purpose)
73 identities = [@dummy_identity, legal_identity].to_set
74 @actor.identities = identities
75 @actor.has_legal_identity?.should be_true
76 end
77 end
78end
79
Note: See TracBrowser for help on using the repository browser.