1 | require File.dirname(__FILE__) + '/../../../../../../spec_helper'
|
---|
2 | include OpenEHR::AM::Archetype::ConstraintModel::Primitive
|
---|
3 | include OpenEHR::RM::DataTypes::Basic
|
---|
4 |
|
---|
5 | describe CBoolean do
|
---|
6 | before(:each) do
|
---|
7 | default_value = DvBoolean.new(:value => true)
|
---|
8 | @c_boolean = CBoolean.new(:default_value => true,
|
---|
9 | :true_valid => true,
|
---|
10 | :false_valid => true)
|
---|
11 | end
|
---|
12 |
|
---|
13 | it 'should be_an_instance_of CBoolean' do
|
---|
14 | @c_boolean.should be_an_instance_of CBoolean
|
---|
15 | end
|
---|
16 |
|
---|
17 | it 'true_valid should be assigned properly' do
|
---|
18 | @c_boolean.should be_true_valid
|
---|
19 | end
|
---|
20 |
|
---|
21 | it 'false_valid should be assigned properly' do
|
---|
22 | @c_boolean.should be_false_valid
|
---|
23 | end
|
---|
24 |
|
---|
25 | it 'should raise ArgumentError when both true_valid and false_valid are false' do
|
---|
26 | lambda {
|
---|
27 | @c_boolean.true_valid = false
|
---|
28 | @c_boolean.false_valid = false
|
---|
29 | }.should raise_error ArgumentError
|
---|
30 | end
|
---|
31 |
|
---|
32 | it 'should raise ArgumentError if both false_valid and true_valid are false' do
|
---|
33 | lambda {
|
---|
34 | @c_boolean.false_valid = false
|
---|
35 | @c_boolean.true_valid = false
|
---|
36 | }.should raise_error ArgumentError
|
---|
37 | end
|
---|
38 |
|
---|
39 | it 'should raise ArgumentError if default_value is false and false_valid is false' do
|
---|
40 | lambda {
|
---|
41 | @c_boolean.false_valid = false
|
---|
42 | @c_boolean.default_value = false
|
---|
43 | }.should raise_error ArgumentError
|
---|
44 | end
|
---|
45 |
|
---|
46 | it 'should raise ArgumentError if default_value is true and true_valid is false' do
|
---|
47 | lambda {
|
---|
48 | @c_boolean.true_valid = false
|
---|
49 | @c_boolean.default_value = true
|
---|
50 | }.should raise_error ArgumentError
|
---|
51 | end
|
---|
52 | end
|
---|