[217] | 1 | require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
---|
| 2 | include OpenEHR::RM::DataTypes::Basic
|
---|
| 3 | include OpenEHR::RM::Support::Identification
|
---|
| 4 | include OpenEHR::RM::DataTypes::Text
|
---|
[220] | 5 |
|
---|
[217] | 6 | describe DvState do
|
---|
| 7 | before(:each) do
|
---|
[259] | 8 | @terminology_id = TerminologyID.new(:value => 'openher')
|
---|
[221] | 9 | code_phrase = CodePhrase.new(:code_string => '524',
|
---|
| 10 | :terminology_id => @terminology_id)
|
---|
[220] | 11 | dv_coded_text = DvCodedText.new(:value => "initial",
|
---|
| 12 | :defining_code => code_phrase)
|
---|
[217] | 13 | @dv_state = DvState.new(:value => dv_coded_text,
|
---|
| 14 | :is_terminal => false)
|
---|
| 15 | end
|
---|
| 16 |
|
---|
| 17 | it 'should be an instance of DvState' do
|
---|
| 18 | @dv_state.should be_an_instance_of DvState
|
---|
| 19 | end
|
---|
| 20 |
|
---|
| 21 | it 's value should be initial' do
|
---|
| 22 | @dv_state.value.value.should == 'initial'
|
---|
| 23 | end
|
---|
| 24 |
|
---|
| 25 | it 'should change other value assigned' do
|
---|
[221] | 26 | code_phrase = CodePhrase.new(:code_string => '526',
|
---|
| 27 | :terminology_id => @terminology_id)
|
---|
[220] | 28 | dv_coded_text = DvCodedText.new(:value =>'planned',
|
---|
| 29 | :defining_code => code_phrase)
|
---|
[217] | 30 | lambda {
|
---|
| 31 | @dv_state.value = dv_coded_text
|
---|
| 32 | }.should change{@dv_state.value.value}.from('initial').to('planned')
|
---|
| 33 | end
|
---|
| 34 |
|
---|
| 35 | it 'is not terminal' do
|
---|
| 36 | @dv_state.is_terminal?.should be_false
|
---|
| 37 | end
|
---|
| 38 |
|
---|
| 39 | it 'should change to terminal' do
|
---|
| 40 | lambda {
|
---|
| 41 | @dv_state.is_terminal = true
|
---|
| 42 | }.should change(@dv_state, :is_terminal?).from(false).to(true)
|
---|
| 43 | end
|
---|
| 44 | end
|
---|