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

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

refs #48,#52

File size: 6.6 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 assert_nothing_raised(Exception){@dv_state.value = "code2"}
61 assert_equal("code2", @dv_state.value)
62 assert @dv_state.is_terminal?
63 assert_nothing_raised(Exception){@dv_state.is_terminal = false}
64 assert !@dv_state.is_terminal?
65 assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_State.new(nil,nil)}
66 assert_raise(ArgumentError) {@dv_state.value=nil}
67 assert_raise(ArgumentError) {@dv_state.is_terminal=nil}
68 end
69
70 def test_dv_identifier
71 assert_equal("Ruby Hospital", @dv_identifier.assigner)
72 assert_equal("0123456-0", @dv_identifier.id)
73 assert_equal("Information office", @dv_identifier.issuer)
74 assert_equal("personal id", @dv_identifier.type)
75 @dv_identifier.assigner = "Test Hospital"
76 assert_equal("Test Hospital", @dv_identifier.assigner)
77 @dv_identifier.id = "TEST-0987"
78 assert_equal("TEST-0987", @dv_identifier.id)
79 @dv_identifier.issuer = "Security office"
80 assert_equal("Security office", @dv_identifier.issuer)
81 @dv_identifier.type = "test id"
82 assert_equal("test id", @dv_identifier.type)
83 assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_Identifier.new(nil, nil, nil, nil)}
84 end
85
86 def test_dv_uri
87 assert_equal("file0", @dv_uri.fragment_id)
88 assert_equal("/changeset/test", @dv_uri.path)
89 assert_equal("cmd=93", @dv_uri.query)
90 assert_equal("http", @dv_uri.scheme)
91 assert_equal("http://www.openehr.jp/changeset/test?cmd=93#file0", @dv_uri.value)
92 @dv_uri.value="svn://www.openehr.jp/openehr-jp/"
93 assert_equal("svn://www.openehr.jp/openehr-jp/", @dv_uri.value)
94 assert_equal("/openehr-jp/", @dv_uri.path)
95 end
96
97 def test_dv_ehr_uri
98 assert_equal("ehr", @dv_ehr_uri.scheme)
99 assert_raise(ArgumentError){
100 @dv_ehr_uri.value="svn://www.openehr.jp/openehr-jp/" }
101 end
102
103 def test_dv_text
104 assert_equal("valid value", @dv_text.value)
105 assert_raise(ArgumentError){@dv_text.value = "not valid value\n"}
106 assert_raise(ArgumentError){@dv_text.value = nil }
107 assert_raise(ArgumentError){@dv_text.value = "" }
108 assert_raise(ArgumentError){@dv_text.formatting = "" }
109 assert_raise(ArgumentError){@dv_text.encoding = ""}
110 assert_raise(ArgumentError){@dv_text.language = ""}
111 assert_raise(ArgumentError){@dv_text.mappings = Set.new}
112 assert_raise(ArgumentError){@dv_text.mappings = ""}
113 assert_raise(ArgumentError){@dv_text.language = ""}
114 end
115
116 def test_dv_coded_text
117 assert_equal("valid value", @dv_coded_text.value)
118 assert_equal("AT1000", @dv_coded_text.defining_code)
119 assert_raise(ArgumentError){@dv_coded_text.defining_code=nil}
120 end
121
122 def test_dv_paragraph
123 assert_equal((Set.new ["test1", "test2"]), @dv_paragraph.items)
124 assert_raise(ArgumentError){@dv_paragraph.items=Set.new}
125 end
126
127 def test_terminology_mapping
128
129 end
130end
131
132
133class ReferenceModelSupportIdentificationTest < Test::Unit::TestCase
134 def setup
135 @object_id = OpenEHR::RM::Support::Identification::OBJECT_ID.new
136 @terminology_id = OpenEHR::RM::Support::Identification::TERMINOLOGY_ID.new('terminology','version')
137 @archetype_id = OpenEHR::RM::Support::Identification::ARCHETYPE_ID.new
138 end
139
140 def test_init
141 assert_instance_of OpenEHR::RM::Support::Identification::OBJECT_ID, @object_id
142 assert_instance_of OpenEHR::RM::Support::Identification::TERMINOLOGY_ID, @terminology_id
143 assert_instance_of OpenEHR::RM::Support::Identification::ARCHETYPE_ID, @archetype_id
144
145 end
146end
Note: See TracBrowser for help on using the repository browser.