source: ruby/trunk/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_integer_spec.rb@ 395

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

refs #71

File size: 1.7 KB
Line 
1require File.dirname(__FILE__) + '/../../../../../../spec_helper'
2include OpenEHR::AM::Archetype::ConstraintModel::Primitive
3include OpenEHR::AssumedLibraryTypes
4
5describe CInteger do
6 before(:each) do
7 @c_integer = CInteger.new(:default_value => 3,
8 :assumed_value => 2,
9 :list => [1,2])
10 end
11
12 it 'should be an instance of CInteger' do
13 @c_integer.should be_an_instance_of CInteger
14 end
15
16 it 'should raise ArgumentError if both range and list are nil' do
17 lambda {
18 @c_integer.list = nil
19 }.should raise_error ArgumentError
20 end
21
22 describe 'list method' do
23 it 'constructor should assign list properly' do
24 @c_integer.list.should == [1,2]
25 end
26
27 it 'list method should re-assign properly' do
28 @c_integer.list = [2,3]
29 @c_integer.list.should == [2,3]
30 end
31
32 it 'should be raise ArgumentError if both list and range are not nil' do
33 lambda {
34 @c_integer.range = Interval.new(:lower => 1,:upper =>3)
35 }.should raise_error ArgumentError
36 end
37 end
38
39 describe 'range mathod' do
40 before(:each) do
41 @c_integer =
42 CInteger.new(:default_value => 2,
43 :assumed_value => 3,
44 :range => Interval.new(:lower => 0, :upper => 5))
45 end
46
47 it 'constructor should assign range properly' do
48 @c_integer.range.lower.should be_equal 0
49 end
50
51 it 'range method should re-assigne properly' do
52 @c_integer.range = Interval.new(:lower => 20)
53 @c_integer.range.lower.should be_equal 20
54 end
55
56 it 'should raise ArgumentError if bhot range and list are not nil' do
57 lambda {
58 @c_integer.list = [10,100]
59 }.should raise_error ArgumentError
60 end
61 end
62end
Note: See TracBrowser for help on using the repository browser.