source: ruby/branches/0.5.0/tests/models/test_reference_model.rb@ 167

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

adjust for rails

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