source: ruby/trunk/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_duration_spec.rb@ 401

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

fixed #71

File size: 2.3 KB
Line 
1require File.dirname(__FILE__) + '/../../../../../../spec_helper'
2include OpenEHR::AssumedLibraryTypes
3include OpenEHR::AM::Archetype
4include OpenEHR::AM::Archetype::ConstraintModel::Primitive
5
6describe CDuration do
7 before(:each) do
8 assumed_value = stub(ISO8601Duration, :year => 2)
9 default_value = stub(ISO8601Duration, :month => 3)
10 range = stub(Interval, :upper => assumed_value, :lower => default_value)
11 @c_duration = CDuration.new(:assumed_value => assumed_value,
12 :default_value => default_value,
13 :range => range,
14 :years_allowed => true,
15 :months_allowed => false,
16 :weeks_allowed => true,
17 :days_allowed => false,
18 :hours_allowed => true,
19 :minutes_allowed => false,
20 :seconds_allowed => true,
21 :fractional_seconds_allowed => false)
22 end
23
24 it 'should be an instance of CDuration' do
25 @c_duration.should be_an_instance_of CDuration
26 end
27
28 it 'years_allowed should be assigned properly' do
29 @c_duration.years_allowed.should be_true
30 end
31
32 it 'months_allowed should be assigned properly' do
33 @c_duration.months_allowed.should be_false
34 end
35
36 it 'weeks_allowed should be assigned properly' do
37 @c_duration.weeks_allowed.should be_true
38 end
39
40 it 'days_allowed should be assigned properly' do
41 @c_duration.days_allowed.should be_false
42 end
43
44 it 'hours_allowed should be assigned properly' do
45 @c_duration.hours_allowed.should be_true
46 end
47
48 it 'minutes_allowed should be assigned properly' do
49 @c_duration.minutes_allowed.should be_false
50 end
51
52 it 'seconds_allowed should be assigned properly' do
53 @c_duration.seconds_allowed.should be_true
54 end
55
56 it 'fractional_seconds_allowed should be assigned properly' do
57 @c_duration.fractional_seconds_allowed.should be_false
58 end
59
60 it 'should raise ArgumentError if range is nil and all parameters are not allowed' do
61 @c_duration.years_allowed = false
62 @c_duration.weeks_allowed = false
63 @c_duration.hours_allowed = false
64 @c_duration.seconds_allowed = false
65 lambda {
66 @c_duration.range = nil
67 }.should raise_error ArgumentError
68 end
69end
Note: See TracBrowser for help on using the repository browser.