source: ruby/trunk/lib/models/tests/test_reference_model.rb@ 86

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

refs #45

File size: 6.4 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(:original_language => "ja",
8 :translations => "en",
9 :description => "test")
10 @translation_details = OpenEHR::RM::Common::Resource::TRANSLATION_DETAILS.new(nil,nil,nil,nil,nil)
11# @openehr_definitions = OpenEHR::RM::Support::Definition::OpenEHR_Definitions.new
12 @dv_boolean = OpenEHR::RM::Data_Types::Basic::DV_Boolean.new("TRUE")
13 @dv_state = OpenEHR::RM::Data_Types::Basic::DV_State.new("code1",true)
14 @dv_identifier = OpenEHR::RM::Data_Types::Basic::DV_Identifier.new("Ruby Hospital","0123456-0", "Information office", "personal id")
15 @dv_uri = OpenEHR::RM::Data_Types::URI::DV_URI.new("http://www.openehr.jp/changeset/test?cmd=93#file0")
16 @dv_ehr_uri = OpenEHR::RM::Data_Types::URI::DV_EHR_URI.new("ehr://1234567/87284370-2D4B-4e3d-A3F3-F303D2F4F34B@2005-08-02T04:30:00")
17 @dv_text = OpenEHR::RM::Data_Types::Text::DV_Text.new("valid value")
18 @dv_coded_text = OpenEHR::RM::Data_Types::Text::DV_Coded_Text.new("valid value", "AT1000")
19 @dv_paragraph = OpenEHR::RM::Data_Types::Text::DV_Paragraph.new(Set.new(["test1", "test2"]))
20 @agent = OpenEHR::RM::Demogrphic::Agent.new
21 @organisation = OpenEHR::RM::Demogrphic::Organisation.new
22 @person = OpenEHR::RM::Demogrphic::Person.new
23 @group = OpenEHR::RM::Demogrphic::Group.new
24 end
25
26 def test_init
27 assert_instance_of OpenEHR::RM::Common::Resource::AUTHORED_RESOURCE, @authored_resource
28 assert_instance_of OpenEHR::RM::Common::Resource::TRANSLATION_DETAILS, @translation_details
29 assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_Boolean, @dv_boolean
30 assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_State, @dv_state
31 assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_Identifier, @dv_identifier
32 assert_instance_of OpenEHR::RM::Data_Types::URI::DV_URI, @dv_uri
33 assert_instance_of OpenEHR::RM::Data_Types::URI::DV_EHR_URI, @dv_ehr_uri
34 assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Text, @dv_text
35 assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Coded_Text, @dv_coded_text
36 assert_instance_of OpenEHR::RM::Demogrphic::Agent, @agent
37 assert_instance_of OpenEHR::RM::Demogrphic::Organisation, @organisation
38 assert_instance_of OpenEHR::RM::Demogrphic::Person, @person
39 assert_instance_of OpenEHR::RM::Demogrphic::Group, @group
40 end
41
42 def test_constant
43 assert_equal("\r", OpenEHR::RM::Support::Definition::OpenEHR_Definitions::CR)
44 assert_equal("\n", OpenEHR::RM::Support::Definition::OpenEHR_Definitions::LF)
45 assert_equal("\r", OpenEHR::RM::Data_Types::Basic::Data_Value::CR)
46 assert_equal("\n", OpenEHR::RM::Data_Types::Basic::Data_Value::LF)
47 end
48
49 def test_dv_boolean
50 assert @dv_boolean.value?
51 @dv_boolean.value = false
52 assert !@dv_boolean.value?
53 # Constraints Value_exists
54 assert_raise(ArgumentError){@dv_boolean.value=nil}
55 assert_raise(ArgumentError){OpenEHR::RM::Data_Types::Basic::DV_Boolean.new(nil)}
56 end
57
58 def test_dv_state
59 assert_equal("code1", @dv_state.value)
60 @dv_state.value = "code2"
61 assert_equal("code2", @dv_state.value)
62 assert @dv_state.is_terminal?
63 @dv_state.terminal = false
64 assert !@dv_state.is_terminal?
65 assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_State.new(nil,nil)}
66 end
67
68 def test_dv_identifier
69 assert_equal("Ruby Hospital", @dv_identifier.assigner)
70 assert_equal("0123456-0", @dv_identifier.id)
71 assert_equal("Information office", @dv_identifier.issuer)
72 assert_equal("personal id", @dv_identifier.type)
73 @dv_identifier.assigner = "Test Hospital"
74 assert_equal("Test Hospital", @dv_identifier.assigner)
75 @dv_identifier.id = "TEST-0987"
76 assert_equal("TEST-0987", @dv_identifier.id)
77 @dv_identifier.issuer = "Security office"
78 assert_equal("Security office", @dv_identifier.issuer)
79 @dv_identifier.type = "test id"
80 assert_equal("test id", @dv_identifier.type)
81 assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_Identifier.new(nil, nil, nil, nil)}
82 end
83
84 def test_dv_uri
85 assert_equal("file0", @dv_uri.fragment_id)
86 assert_equal("/changeset/test", @dv_uri.path)
87 assert_equal("cmd=93", @dv_uri.query)
88 assert_equal("http", @dv_uri.scheme)
89 assert_equal("http://www.openehr.jp/changeset/test?cmd=93#file0", @dv_uri.value)
90 @dv_uri.value="svn://www.openehr.jp/openehr-jp/"
91 assert_equal("svn://www.openehr.jp/openehr-jp/", @dv_uri.value)
92 assert_equal("/openehr-jp/", @dv_uri.path)
93 end
94
95 def test_dv_ehr_uri
96 assert_equal("ehr", @dv_ehr_uri.scheme)
97 assert_raise(ArgumentError){
98 @dv_ehr_uri.value="svn://www.openehr.jp/openehr-jp/" }
99 end
100
101 def test_dv_text
102 assert_equal("valid value", @dv_text.value)
103 assert_raise(ArgumentError){@dv_text.value = "not valid value\n"}
104 assert_raise(ArgumentError){@dv_text.value = nil }
105 assert_raise(ArgumentError){@dv_text.value = "" }
106 assert_raise(ArgumentError){@dv_text.formatting = "" }
107 assert_raise(ArgumentError){@dv_text.encoding = ""}
108 assert_raise(ArgumentError){@dv_text.language = ""}
109 assert_raise(ArgumentError){@dv_text.mappings = Set.new}
110 assert_raise(ArgumentError){@dv_text.mappings = ""}
111 assert_raise(ArgumentError){@dv_text.language = ""}
112 end
113
114 def test_dv_coded_text
115 assert_equal("valid value", @dv_coded_text.value)
116 assert_equal("AT1000", @dv_coded_text.defining_code)
117 assert_raise(ArgumentError){@dv_coded_text.defining_code=nil}
118 end
119
120 def test_dv_paragraph
121 assert_equal((Set.new ["test1", "test2"]), @dv_paragraph.items)
122 assert_raise(ArgumentError){@dv_paragraph.items=Set.new}
123 end
124
125 def test_terminology_mapping
126
127 end
128end
129
130
131class ReferenceModelSupportIdentificationTest < Test::Unit::TestCase
132 def setup
133 @object_id = OpenEHR::RM::Support::Identification::OBJECT_ID.new
134 @terminology_id = OpenEHR::RM::Support::Identification::TERMINOLOGY_ID.new('terminology','version')
135 @archetype_id = OpenEHR::RM::Support::Identification::ARCHETYPE_ID.new
136 end
137
138 def test_init
139 assert_instance_of OpenEHR::RM::Support::Identification::OBJECT_ID, @object_id
140 assert_instance_of OpenEHR::RM::Support::Identification::TERMINOLOGY_ID, @terminology_id
141 assert_instance_of OpenEHR::RM::Support::Identification::ARCHETYPE_ID, @archetype_id
142
143 end
144end
Note: See TracBrowser for help on using the repository browser.