source: ruby/trunk/spec/lib/open_ehr/am/archetype/assertion/assertion_spec.rb@ 384

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

refs #73

File size: 1.8 KB
Line 
1require File.dirname(__FILE__) + '/../../../../../spec_helper'
2include OpenEHR::AM::Archetype::Assertion
3
4describe Assertion do
5 before(:each) do
6 expression = stub(ExprItem, :type => 'Boolean')
7 $string_expression = "/[at0001]/speed[at0002]/kilometres/magnitude = " +
8 "/[at0003]/speed[at0004]/miles/magnitude * 1.6"
9 variables = stub(Array, :size => 2)
10 @assertion = Assertion.new(:tag => 'validity',
11 :expression => expression,
12 :string_expression => $string_expression,
13 :variables => variables)
14 end
15
16 it 'should be an instance of Assertion' do
17 @assertion.should be_an_instance_of Assertion
18 end
19
20 it 'expression should be assigned properly' do
21 @assertion.expression.type.should == 'Boolean'
22 end
23
24 it 'should raise ArgumentError when expression is nil' do
25 lambda {
26 @assertion.expression = nil
27 }.should raise_error ArgumentError
28 end
29
30 it 'should raise ArgumentError when expression type is not Boolean' do
31 invalid_expression = stub(ExprItem, :type => 'Real')
32 lambda {
33 @assertion.expression = invalid_expression
34 }.should raise_error ArgumentError
35 end
36
37 it 'tag should be assigned properly' do
38 @assertion.tag.should == 'validity'
39 end
40
41 it 'tag should not be empty' do
42 lambda {
43 @assertion.tag = ''
44 }.should raise_error ArgumentError
45 end
46
47 it 'should not raise ArgumentError when tag = nil' do
48 lambda {
49 @assertion.tag = nil
50 }.should_not raise_error ArgumentError
51 end
52
53 it 'string_expression should be assigned properly' do
54 @assertion.string_expression.should == $string_expression
55 end
56
57 it 'variables should be assigned properly' do
58 @assertion.variables.size.should be_equal 2
59 end
60end
Note: See TracBrowser for help on using the repository browser.