source: ruby/branches/0.5/spec/lib/open_ehr/rm/data_types/basic/dv_identifier_spec.rb@ 219

Last change on this file since 219 was 219, checked in by KOBAYASHI, Shinji, 15 years ago

reform DvIdentifier

File size: 2.9 KB
Line 
1require File.dirname(__FILE__) + '/../../../../../spec_helper'
2include OpenEHR::RM::DataTypes::Basic
3include OpenEHR::RM::DataTypes::Text
4
5describe DvIdentifier do
6 before(:each) do
7 @dv_identifier = DvIdentifier.new(:issuer => 'Ruby Hospital',
8 :assigner => 'Information office',
9 :id => '0123456-0',
10 :type =>'personal id')
11 end
12
13 it 'should be an instance of DvIdentifier' do
14 @dv_identifier.should be_an_instance_of DvIdentifier
15 end
16
17 it 's issuer should be Ruby hospital' do
18 @dv_identifier.issuer.should == 'Ruby Hospital'
19 end
20
21 it 's assigner should be Information office' do
22 @dv_identifier.assigner.should == 'Information office'
23 end
24
25 it 's id should be 0123456-0' do
26 @dv_identifier.id.should == '0123456-0'
27 end
28
29 it 's type should be personal id' do
30 @dv_identifier.type.should == 'personal id'
31 end
32
33 it 's issuer should be change to other hospital' do
34 lambda {
35 @dv_identifier.issuer = 'Other Hospital'
36 }.should change(@dv_identifier, :issuer).
37 from('Ruby Hospital').to('Other Hospital')
38 end
39
40 it 'raise ArgumentError for nil issuer' do
41 lambda {
42 @dv_identifier.issuer = nil
43 }.should raise_error(ArgumentError)
44 end
45
46 it 'raise ArgumentError for empty issuer' do
47 lambda {
48 @dv_identifier.issuer = ''
49 }.should raise_error(ArgumentError)
50 end
51
52 it 's assigner should change from Information office to Service office' do
53 lambda {
54 @dv_identifier.assigner = 'Service office'
55 }.should change{@dv_identifier.assigner}.
56 from('Information office').to('Service office')
57 end
58
59 it 'raise ArgumentError for nil assigner' do
60 lambda {
61 @dv_identifier.assigner = nil
62 }.should raise_error(ArgumentError)
63 end
64
65 it 'raise ArgumentError for empty assigner' do
66 lambda {
67 @dv_identifier.assigner = ''
68 }.should raise_error(ArgumentError)
69 end
70
71 it 's id should change from 0123456-0 to TEST-0987' do
72 lambda {
73 @dv_identifier.id = 'TEST-0987'
74 }.should change(@dv_identifier, :id).
75 from('0123456-0').to('TEST-0987')
76 end
77
78 it 'raise ArgumentError for nil id' do
79 lambda {
80 @dv_identifier.id = nil
81 }.should raise_error(ArgumentError)
82 end
83
84 it 'raise ArgumentError for empty id' do
85 lambda {
86 @dv_identifier.id = ''
87 }.should raise_error(ArgumentError)
88 end
89
90 it 's type should change form personal id to test id' do
91 lambda {
92 @dv_identifier.type = "test id"
93 }.should change(@dv_identifier, :type).
94 from('personal id').to('test id')
95 end
96
97 it 'raise ArgumentError for nil type' do
98 lambda {
99 @dv_identifier.type = nil
100 }.should raise_error(ArgumentError)
101 end
102
103 it 'raise ArgumentError for empty issuer' do
104 lambda {
105 @dv_identifier.type = ''
106 }.should raise_error(ArgumentError)
107 end
108end
Note: See TracBrowser for help on using the repository browser.