source: ruby/branches/0.5/spec/lib/open_ehr/rm/data_types/quantity/dv_amount_spec.rb@ 248

Last change on this file since 248 was 248, checked in by KOBAYASHI, Shinji, 15 years ago

move DvAmount, DvCount test to spec

File size: 2.7 KB
Line 
1require File.dirname(__FILE__) + '/../../../../../spec_helper'
2include OpenEHR::RM::DataTypes::Quantity
3
4describe DvAmount do
5 before(:each) do
6 @dv_amount = DvAmount.new(:magnitude => 2,
7 :accuracy => 100,
8 :accuracy_percent => true)
9 end
10
11 it 'should be an instance of DvAmount' do
12 @dv_amount.should be_an_instance_of DvAmount
13 end
14
15 it 's magnitude should be equal 2' do
16 @dv_amount.magnitude.should be_equal 2
17 end
18
19 it 's accuracy should be 100 percent' do
20 @dv_amount.accuracy.should be_equal 100
21 end
22
23 it 's accuracy_is_percent should be true' do
24 @dv_amount.accuracy_is_percent?.should be_true
25 end
26
27 it 'should has an instance with nil accuracy' do
28 dv_amount = DvAmount.new(:magnitude => 1)
29 dv_amount.should be_an_instance_of DvAmount
30 end
31
32 it 'should be 3 if +2 magnitude DvAmount' do
33 dv_amount4 = @dv_amount + DvAmount.new(:magnitude => 2)
34 dv_amount4.magnitude.should == 4
35 end
36
37 it 'should be -1 if - 3 magnitude DvAmount' do
38 dv_amount_1 = @dv_amount - DvAmount.new(:magnitude => 3)
39 dv_amount_1.magnitude.should == -1
40 end
41
42 it 'should be type mismatch' do
43 lambda {
44 @dv_amount + 1
45 }.should raise_error ArgumentError
46 end
47
48 it 'should not raise ArgumentError' do
49 lambda {
50 @dv_amount.set_accuracy(0, true)
51 }.should_not raise_error ArgumentError
52 end
53 it 'should not raise ArgumentError' do
54 lambda {
55 @dv_amount.set_accuracy(50, true)
56 }.should_not raise_error ArgumentError
57 end
58
59 it 'should not raise ArgumentError' do
60 lambda {
61 @dv_amount.set_accuracy(100, true)
62 }.should_not raise_error ArgumentError
63 end
64
65 it 'should raise ArgumentError with invaild accuracy' do
66 lambda {
67 @dv_amount.set_accuracy(-0.01, true)
68 }.should raise_error ArgumentError
69 end
70
71 it 'should raise ArgumentError with invaild accuracy' do
72 lambda {
73 @dv_amount.set_accuracy(100.1, true)
74 }.should raise_error ArgumentError
75 end
76
77 it 'should not raise ArgumentError' do
78 lambda {
79 @dv_amount.set_accuracy(0, false)
80 }.should_not raise_error ArgumentError
81 end
82 it 'should not raise ArgumentError' do
83 lambda {
84 @dv_amount.set_accuracy(0.5, false)
85 }.should_not raise_error ArgumentError
86 end
87
88 it 'should not raise ArgumentError' do
89 lambda {
90 @dv_amount.set_accuracy(1.0, false)
91 }.should_not raise_error ArgumentError
92 end
93
94 it 'should raise ArgumentError with invaild accuracy' do
95 lambda {
96 @dv_amount.set_accuracy(-0.01, false)
97 }.should raise_error ArgumentError
98 end
99
100 it 'should raise ArgumentError with invaild accuracy' do
101 lambda {
102 @dv_amount.set_accuracy(1.01, false)
103 }.should raise_error ArgumentError
104 end
105end
Note: See TracBrowser for help on using the repository browser.