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

Last change on this file since 24 was 24, checked in by Tatsukawa, Akimichi, 16 years ago

working on AM::Archetype::ARCHETYPE

File size: 5.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 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::Data_Types::Basic::DV_Boolean, @dv_boolean
26 assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_State, @dv_state
27 assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_Identifier, @dv_identifier
28 assert_instance_of OpenEHR::RM::Data_Types::URI::DV_URI, @dv_uri
29 assert_instance_of OpenEHR::RM::Data_Types::URI::DV_EHR_URI, @dv_ehr_uri
30 assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Text, @dv_text
31 assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Coded_Text, @dv_coded_text
32 end
33 def test_constant
34 assert_equal("\r", OpenEHR::RM::Support::Definition::OpenEHR_Definitions::CR)
35 assert_equal("\n", OpenEHR::RM::Support::Definition::OpenEHR_Definitions::LF)
36 assert_equal("\r", OpenEHR::RM::Data_Types::Basic::Data_Value::CR)
37 assert_equal("\n", OpenEHR::RM::Data_Types::Basic::Data_Value::LF)
38 end
39 def test_dv_boolean
40 assert @dv_boolean.value?
41 @dv_boolean.value = false
42 assert !@dv_boolean.value?
43 # Constraints Value_exists
44 assert_raise(ArgumentError){@dv_boolean.value=nil}
45 assert_raise(ArgumentError){OpenEHR::RM::Data_Types::Basic::DV_Boolean.new(nil)}
46 end
47 def test_dv_state
48 assert_equal("code1", @dv_state.value)
49 @dv_state.value = "code2"
50 assert_equal("code2", @dv_state.value)
51 assert @dv_state.is_terminal?
52 @dv_state.terminal = false
53 assert !@dv_state.is_terminal?
54 assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_State.new(nil,nil)}
55 end
56 def test_dv_identifier
57 assert_equal("Ruby Hospital", @dv_identifier.assigner)
58 assert_equal("0123456-0", @dv_identifier.id)
59 assert_equal("Information office", @dv_identifier.issuer)
60 assert_equal("personal id", @dv_identifier.type)
61 @dv_identifier.assigner = "Test Hospital"
62 assert_equal("Test Hospital", @dv_identifier.assigner)
63 @dv_identifier.id = "TEST-0987"
64 assert_equal("TEST-0987", @dv_identifier.id)
65 @dv_identifier.issuer = "Security office"
66 assert_equal("Security office", @dv_identifier.issuer)
67 @dv_identifier.type = "test id"
68 assert_equal("test id", @dv_identifier.type)
69 assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_Identifier.new(nil, nil, nil, nil)}
70 end
71 def test_dv_uri
72 assert_equal("file0", @dv_uri.fragment_id)
73 assert_equal("/changeset/test", @dv_uri.path)
74 assert_equal("cmd=93", @dv_uri.query)
75 assert_equal("http", @dv_uri.scheme)
76 assert_equal("http://www.openehr.jp/changeset/test?cmd=93#file0", @dv_uri.value)
77 @dv_uri.value="svn://www.openehr.jp/openehr-jp/"
78 assert_equal("svn://www.openehr.jp/openehr-jp/", @dv_uri.value)
79 assert_equal("/openehr-jp/", @dv_uri.path)
80 end
81 def test_dv_ehr_uri
82 assert_equal("ehr", @dv_ehr_uri.scheme)
83 assert_raise(ArgumentError){
84 @dv_ehr_uri.value="svn://www.openehr.jp/openehr-jp/" }
85 end
86 def test_dv_text
87 assert_equal("valid value", @dv_text.value)
88 assert_raise(ArgumentError){
89 @dv_text.value = "not valid value\n"}
90 assert_raise(ArgumentError){
91 @dv_text.value = nil }
92 assert_raise(ArgumentError){
93 @dv_text.value = "" }
94 assert_raise(ArgumentError){
95 @dv_text.formatting = "" }
96 assert_raise(ArgumentError){
97 @dv_text.encoding = ""}
98 assert_raise(ArgumentError){
99 @dv_text.language = ""}
100 assert_raise(ArgumentError){
101 @dv_text.mappings = Set.new}
102 assert_raise(ArgumentError){
103 @dv_text.mappings = ""}
104 assert_raise(ArgumentError){
105 @dv_text.language = ""}
106 end
107 def test_dv_coded_text
108 assert_equal("valid value", @dv_coded_text.value)
109 assert_equal("AT1000", @dv_coded_text.defining_code)
110 assert_raise(ArgumentError){
111 @dv_coded_text.defining_code=nil}
112 end
113 def test_dv_paragraph
114 assert_equal((Set.new ["test1", "test2"]), @dv_paragraph.items)
115 assert_raise(ArgumentError){
116 @dv_paragraph.items=Set.new}
117 end
118 def test_terminology_mapping
119
120 end
121end
122
Note: See TracBrowser for help on using the repository browser.