source: ruby/trunk/spec/lib/open_ehr/am/archetype/constraint_model/archetype_slot_spec.rb@ 382

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

refs #74
implemented release 1.0.2

File size: 2.0 KB
Line 
1require File.dirname(__FILE__) + '/../../../../../spec_helper'
2include OpenEHR::AM::Archetype::ConstraintModel
3include OpenEHR::AssumedLibraryTypes
4
5describe ArchetypeSlot do
6 before(:each) do
7 occurrences = Interval.new(:lower => 0, :upper => 1)
8 includes = stub(Set, :empty? => false, :size => 2)
9 excludes = stub(Set, :empty? => false, :size => 10)
10 @archetype_slot = ArchetypeSlot.new(:path => '/event/[at0001]/',
11 :rm_type_name => 'DV_TIME',
12 :node_id => 'ac0001',
13 :occurrences => occurrences,
14 :includes => includes,
15 :excludes => excludes)
16 end
17
18 it 'should be an instance of ArchetypeSlot' do
19 @archetype_slot.should be_an_instance_of ArchetypeSlot
20 end
21
22 it 'includes should be assigned properly' do
23 @archetype_slot.includes.size.should be_equal 2
24 end
25
26 it 'should raise ArgumentError when includes are empty' do
27 lambda {
28 @archetype_slot.includes = Set.new
29 }.should raise_error ArgumentError
30 end
31
32 it 'excludes should be assigned properly' do
33 @archetype_slot.excludes.size.should be_equal 10
34 end
35
36 it 'should raise ArgumentError when excludes are empty' do
37 lambda {
38 @archetype_slot.excludes = Set.new
39 }.should raise_error ArgumentError
40 end
41
42 it 'any_allowed should be false when includes and excludes are not nil' do
43 @archetype_slot.should_not be_any_allowed
44 end
45
46 it 'any_allowed should be false when includes are nil and excludes are not nil' do
47 @archetype_slot.includes = nil
48 @archetype_slot.should_not be_any_allowed
49 end
50
51 it 'any_allowed should be false when includes are not nil and excludes are nil' do
52 @archetype_slot.excludes = nil
53 @archetype_slot.should_not be_any_allowed
54 end
55
56 it 'any_allowed should be true when includes and excludes are nil' do
57 @archetype_slot.includes = nil
58 @archetype_slot.excludes = nil
59 @archetype_slot.should be_any_allowed
60 end
61end
Note: See TracBrowser for help on using the repository browser.