source: ruby/trunk/models/tests/test_reference_model.rb@ 4

Last change on this file since 4 was 4, checked in by KOBAYASHI, Shinji, 16 years ago

restructuring repository tree

File size: 5.2 KB
Line 
1require 'test/unit'
2require 'set'
3require 'rm'
4
5class ReferenceModelTest < Test::Unit::TestCase
6 def setup
7 @authored_resource = OpenEHR::RM::Common::Resource::Authored_Resource.new("ja","en","test")
8 @translation_details = OpenEHR::RM::Common::Resource::Translation_Details.new(nil,nil,nil,nil,nil)
9# @openehr_definitions = OpenEHR::RM::Support::Definition::OpenEHR_Definitions.new
10 @dv_boolean = OpenEHR::RM::Data_Types::Basic::DV_Boolean.new("TRUE")
11 @dv_state = OpenEHR::RM::Data_Types::Basic::DV_State.new("code1",true)
12 @dv_identifier = OpenEHR::RM::Data_Types::Basic::DV_Identifier.new("Ruby Hospital","0123456-0", "Information office", "personal id")
13 @dv_uri = OpenEHR::RM::Data_Types::URI::DV_URI.new("http://www.openehr.jp/changeset/test?cmd=93#file0")
14 @dv_ehr_uri = OpenEHR::RM::Data_Types::URI::DV_EHR_URI.new("ehr://1234567/87284370-2D4B-4e3d-A3F3-F303D2F4F34B@2005-08-02T04:30:00")
15 @dv_text = OpenEHR::RM::Data_Types::Text::DV_Text.new("valid value")
16 @dv_coded_text = OpenEHR::RM::Data_Types::Text::DV_Coded_Text.new("valid value", "AT1000")
17 @dv_paragraph = OpenEHR::RM::Data_Types::Text::DV_Paragraph.new(Set.new(["test1", "test2"]))
18 end
19
20 def test_init
21 assert_instance_of OpenEHR::RM::Common::Resource::Authored_Resource, @authored_resource
22 assert_instance_of OpenEHR::RM::Common::Resource::Translation_Details, @translation_details
23 assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_Boolean, @dv_boolean
24 assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_State, @dv_state
25 assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_Identifier, @dv_identifier
26 assert_instance_of OpenEHR::RM::Data_Types::URI::DV_URI, @dv_uri
27 assert_instance_of OpenEHR::RM::Data_Types::URI::DV_EHR_URI, @dv_ehr_uri
28 assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Text, @dv_text
29 assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Coded_Text, @dv_coded_text
30 end
31 def test_constant
32 assert_equal("\r", OpenEHR::RM::Support::Definition::OpenEHR_Definitions::CR)
33 assert_equal("\n", OpenEHR::RM::Support::Definition::OpenEHR_Definitions::LF)
34 assert_equal("\r", OpenEHR::RM::Data_Types::Basic::Data_Value::CR)
35 assert_equal("\n", OpenEHR::RM::Data_Types::Basic::Data_Value::LF)
36 end
37 def test_dv_boolean
38 assert @dv_boolean.value?
39 @dv_boolean.value = false
40 assert !@dv_boolean.value?
41 # Constraints Value_exists
42 assert_raise(ArgumentError){@dv_boolean.value=nil}
43 assert_raise(ArgumentError){OpenEHR::RM::Data_Types::Basic::DV_Boolean.new(nil)}
44 end
45 def test_dv_state
46 assert_equal("code1", @dv_state.value)
47 @dv_state.value = "code2"
48 assert_equal("code2", @dv_state.value)
49 assert @dv_state.is_terminal?
50 @dv_state.terminal = false
51 assert !@dv_state.is_terminal?
52 assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_State.new(nil,nil)}
53 end
54 def test_dv_identifier
55 assert_equal("Ruby Hospital", @dv_identifier.assigner)
56 assert_equal("0123456-0", @dv_identifier.id)
57 assert_equal("Information office", @dv_identifier.issuer)
58 assert_equal("personal id", @dv_identifier.type)
59 @dv_identifier.assigner = "Test Hospital"
60 assert_equal("Test Hospital", @dv_identifier.assigner)
61 @dv_identifier.id = "TEST-0987"
62 assert_equal("TEST-0987", @dv_identifier.id)
63 @dv_identifier.issuer = "Security office"
64 assert_equal("Security office", @dv_identifier.issuer)
65 @dv_identifier.type = "test id"
66 assert_equal("test id", @dv_identifier.type)
67 assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_Identifier.new(nil, nil, nil, nil)}
68 end
69 def test_dv_uri
70 assert_equal("file0", @dv_uri.fragment_id)
71 assert_equal("/changeset/test", @dv_uri.path)
72 assert_equal("cmd=93", @dv_uri.query)
73 assert_equal("http", @dv_uri.scheme)
74 assert_equal("http://www.openehr.jp/changeset/test?cmd=93#file0", @dv_uri.value)
75 @dv_uri.value="svn://www.openehr.jp/openehr-jp/"
76 assert_equal("svn://www.openehr.jp/openehr-jp/", @dv_uri.value)
77 assert_equal("/openehr-jp/", @dv_uri.path)
78 end
79 def test_dv_ehr_uri
80 assert_equal("ehr", @dv_ehr_uri.scheme)
81 assert_raise(ArgumentError){
82 @dv_ehr_uri.value="svn://www.openehr.jp/openehr-jp/" }
83 end
84 def test_dv_text
85 assert_equal("valid value", @dv_text.value)
86 assert_raise(ArgumentError){
87 @dv_text.value = "not valid value\n"}
88 assert_raise(ArgumentError){
89 @dv_text.value = nil }
90 assert_raise(ArgumentError){
91 @dv_text.value = "" }
92 assert_raise(ArgumentError){
93 @dv_text.formatting = "" }
94 assert_raise(ArgumentError){
95 @dv_text.encoding = ""}
96 assert_raise(ArgumentError){
97 @dv_text.language = ""}
98 assert_raise(ArgumentError){
99 @dv_text.mappings = Set.new}
100 assert_raise(ArgumentError){
101 @dv_text.mappings = ""}
102 assert_raise(ArgumentError){
103 @dv_text.language = ""}
104 end
105 def test_dv_coded_text
106 assert_equal("valid value", @dv_coded_text.value)
107 assert_equal("AT1000", @dv_coded_text.defining_code)
108 assert_raise(ArgumentError){
109 @dv_coded_text.defining_code=nil}
110 end
111 def test_dv_paragraph
112 assert_equal((Set.new ["test1", "test2"]), @dv_paragraph.items)
113 assert_raise(ArgumentError){
114 @dv_paragraph.items=Set.new}
115 end
116 def test_terminology_mapping
117
118 end
119end
120
Note: See TracBrowser for help on using the repository browser.