source: ruby/trunk/lib/adl_parser/test/parser_test.rb@ 326

Last change on this file since 326 was 326, checked in by Tatsukawa, Akimichi, 15 years ago

start implementing semantic function in ADL parser

File size: 13.0 KB
RevLine 
[257]1require File.dirname(__FILE__) + '/test_helper.rb'
[4]2
3class ADLParserTest < Test::Unit::TestCase
4 def setup
[307]5 @parser = ::OpenEhr::ADL::Parser.new
[4]6 end
7
[321]8 must "assert parser instance" do
9 assert_instance_of ::OpenEhr::ADL::Parser,@parser
10 end
[4]11
[326]12
13 must "openEHR-EHR-SECTION.reason_for_encounter.v1.adl be properly parsed" do
14 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.reason_for_encounter.v1.adl")
15 assert_nothing_raised do
16 ast = @parser.parse(file, 'openEHR-EHR-SECTION.reason_for_encounter.v1')
17 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
18 assert_instance_of OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY, ast.ontology
19 end
20 end
21
[321]22 must "openEHR-EHR-CLUSTER.exam-uterus.v1.adl be properly parsed" do
23 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-uterus.v1.adl")
24 assert_nothing_raised do
25 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-uterus.v11')
26 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
27 end
28 end
[318]29
[321]30 must "openEHR-EHR-SECTION.summary.v1.adl be properly parsed" do
31 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.summary.v1.adl")
32 assert_nothing_raised do
33 ast = @parser.parse(file, 'openEHR-EHR-SECTION.summary.v1')
34 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
35 end
36 end
[257]37
[20]38
[321]39 must "openEHR-EHR-ACTION.referral.v1.adl be properly parsed" do
40 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ACTION.referral.v1.adl")
41 assert_nothing_raised do
42 ast = @parser.parse(file, 'openEHR-EHR-ACTION.referral.v1')
43 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
44 end
45 end
[20]46
[321]47 must "openEHR-EHR-CLUSTER.auscultation-chest.v1.adl be properly parsed" do
48 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl")
49 assert_nothing_raised do
50 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.auscultation-chest.v1')
51 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
52 end
53 end
[20]54
[321]55 must "openEHR-EHR-CLUSTER.auscultation.v1.adl be properly parsed" do
56 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.auscultation.v1.adl")
57 assert_nothing_raised do
58 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.auscultation.v1')
59 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
60 end
61 end
[20]62
63
[321]64 must "openEHR-EHR-CLUSTER.exam-abdomen.v1.adl be properly parsed" do
65 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl")
66 assert_nothing_raised do
67 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-abdomen.v1')
68 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
69 end
70 end
[20]71
[321]72 must "openEHR-EHR-CLUSTER.exam-chest.v1.adl be properly parsed" do
73 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-chest.v1.adl")
74 assert_nothing_raised do
75 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-chest.v1')
76 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
77 end
78 end
[20]79
[321]80 must "openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl be properly parsed" do
81 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl")
82 assert_nothing_raised do
83 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-generic-joint.v1')
84 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
85 end
86 end
[20]87
[321]88 must "openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl be properly parsed" do
89 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl")
90 assert_nothing_raised do
91 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1')
92 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
93 end
94 end
[257]95
[321]96 must "openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl be properly parsed" do
97 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl")
98 assert_nothing_raised do
99 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-generic-mass.v1')
100 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
101 end
102 end
[4]103
[321]104 must "openEHR-EHR-CLUSTER.exam-generic.v1.adl be properly parsed" do
105 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-generic.v1.adl")
106 assert_nothing_raised do
107 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-generic.v1')
108 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
109 end
110 end
[258]111
[321]112 must "openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl be properly parsed" do
113 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl")
114 assert_nothing_raised do
115 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-nervous_system.v1')
116 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
117 end
118 end
[258]119
[321]120 must "openEHR-EHR-COMPOSITION.discharge.v1draft.adl be properly parsed" do
121 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-COMPOSITION.discharge.v1draft.adl")
122 assert_nothing_raised do
123 ast = @parser.parse(file, 'openEHR-EHR-COMPOSITION.discharge.v1draft')
124 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
125 end
126 end
[258]127
128
[321]129 must "openEHR-EHR-INSTRUCTION.medication.v1.adl be properly parsed" do
130 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-INSTRUCTION.medication.v1.adl")
131 assert_nothing_raised do
132 ast = @parser.parse(file, 'openEHR-EHR-INSTRUCTION.medication.v1')
133 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
134 end
135 end
[258]136
[321]137 must "openEHR-EHR-INSTRUCTION.referral.v1.adl be properly parsed" do
138 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-INSTRUCTION.referral.v1.adl")
139 assert_nothing_raised do
140 ast = @parser.parse(file, 'openEHR-EHR-INSTRUCTION.referral.v1')
141 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
142 end
143 end
[258]144
[321]145 must "openEHR-EHR-ITEM_TREE.Laboratory_request.v1.adl be properly parsed" do
146 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ITEM_TREE.Laboratory_request.v1.adl")
147 assert_nothing_raised do
148 ast = @parser.parse(file, 'openEHR-EHR-ITEM_TREE.Laboratory_request.v1')
149 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
150 end
151 end
[258]152
[283]153
[321]154 must "openEHR-EHR-OBSERVATION.apgar.v1.adl be properly parsed" do
155 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-OBSERVATION.apgar.v1.adl")
156 assert_nothing_raised do
157 ast = @parser.parse(file, 'openEHR-EHR-OBSERVATION.apgar.v1')
158 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
159 end
160 end
[20]161
[321]162 must "openEHR-EHR-SECTION.findings.v1.adl be properly parsed" do
163 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.findings.v1.adl")
164 assert_nothing_raised do
165 ast = @parser.parse(file, 'openEHR-EHR-SECTION.findings.v1')
166 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
167 end
168 end
[20]169
170
[258]171
[321]172# C_DV_QUANTITY parse error
173 must "openEHR-EHR-EVALUATION.adverse.v1.adl be properly parsed" do
174 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-EVALUATION.adverse.v1.adl")
175 assert_nothing_raised do
176 ast = @parser.parse(file, 'openEHR-EHR-EVALUATION.adverse.v1')
177 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
178 end
179 end
[4]180
[321]181 must "openEHR-EHR-CLUSTER.dimensions-circumference.v1.adl be properly parsed" do
182 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.dimensions-circumference.v1.adl")
183 assert_nothing_raised do
184 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.dimensions-circumference.v1')
185 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
186 end
187 end
[20]188
[321]189 must "openEHR-EHR-CLUSTER.dimensions.v1.adl be properly parsed" do
190 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.dimensions.v1.adl")
191 assert_nothing_raised do
192 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.dimensions.v1')
193 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
194 end
195 end
[4]196
[321]197 must "openEHR-EHR-CLUSTER.exam-fetus.v1.adl be properly parsed" do
198 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-fetus.v1.adl")
199 assert_nothing_raised do
200 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-fetus.v1')
201 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
202 end
203 end
[20]204
[321]205 must "openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl be properly parsed" do
206 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl")
207 assert_nothing_raised do
208 ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-uterine_cervix.v1')
209 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
210 end
211 end
[315]212
[321]213 must "openEHR-EHR-OBSERVATION.body_mass_index.v1.adl be properly parsed" do
214 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-OBSERVATION.body_mass_index.v1.adl")
215 assert_nothing_raised do
216 ast = @parser.parse(file, 'openEHR-EHR-OBSERVATION.body_mass_index.v1')
217 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
218 end
219 end
[283]220
[321]221 must "openEHR-EHR-ACTION.imaging.v1.adl be properly parsed" do
222 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ACTION.imaging.v1.adl")
223 assert_nothing_raised do
224 ast = @parser.parse(file, 'openEHR-EHR-ACTION.imaging.v1')
225 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
226 end
227 end
[283]228
[321]229 must "openEHR-EHR-COMPOSITION.encounter.v1draft.adl be properly parsed" do
230 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-COMPOSITION.encounter.v1draft.adl")
231 assert_nothing_raised do
232 ast = @parser.parse(file, 'openEHR-EHR-COMPOSITION.encounter.v1draft')
233 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
234 end
235 end
[318]236
[321]237 must "openEHR-EHR-ITEM_TREE.follow_up.v1draft.adl be properly parsed" do
238 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ITEM_TREE.follow_up.v1draft.adl")
239 assert_nothing_raised do
240 ast = @parser.parse(file, 'openEHR-EHR-ITEM_TREE.follow_up.v1draft')
241 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
242 end
243 end
[318]244
[321]245 must "openEHR-EHR-SECTION.vital_signs.v1.adl be properly parsed" do
246 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.vital_signs.v1.adl")
247 assert_nothing_raised do
248 ast = @parser.parse(file, 'openEHR-EHR-SECTION.vital_signs.v1')
249 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
250 end
251 end
[319]252
[321]253 must "openEHR-EHR-ITEM_TREE.medication-formulation.v1.adl be properly parsed" do
254 file = File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ITEM_TREE.medication-formulation.v1.adl")
255 assert_nothing_raised do
256 ast = @parser.parse(file, 'openEHR-EHR-ITEM_TREE.medication-formulation.v1')
257 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
258 end
259 end
260
[323]261 must "adl-test-ENTRY.assumed_types.v1.adl be properly parsed" do
262 file = File.read("#{TEST_ROOT_DIR}/adl/adl-test-ENTRY.assumed_types.v1.adl")
263 assert_nothing_raised do
264 ast = @parser.parse(file, 'adl-test-ENTRY.assumed_types.v1')
265 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
266 end
267 end
268
[321]269 must "adl-test-ENTRY.basic_types.v1.adl be properly parsed" do
270 file = File.read("#{TEST_ROOT_DIR}/adl/adl-test-ENTRY.basic_types.v1.adl")
271 assert_nothing_raised do
272 ast = @parser.parse(file, 'adl-test-ENTRY.basic_types.v1')
273 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
274 end
275 end
276
277
[323]278 must "adl-test-ENTRY.basic_types_fail.v1.adl be properly parsed" do
279 file = File.read("#{TEST_ROOT_DIR}/adl/adl-test-ENTRY.basic_types_fail.v1.adl")
280 assert_raise Racc::ParseError do
281 ast = @parser.parse(file, 'adl-test-ENTRY.basic_types_fail.v1')
282 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
283 end
284 end
285
286 must "adl-test-ENTRY.most_minimal.v1.adl be properly parsed" do
287 file = File.read("#{TEST_ROOT_DIR}/adl/adl-test-ENTRY.most_minimal.v1.adl")
[318]288 assert_nothing_raised do
[323]289 ast = @parser.parse(file, 'adl-test-ENTRY.most_minimal.v1')
[318]290 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
291 end
292 end
293
[323]294 must "adl-test-ENTRY.structure_test1.v1.adl be properly parsed" do
295 file = File.read("#{TEST_ROOT_DIR}/adl/adl-test-ENTRY.structure_test1.v1.adl")
296 assert_nothing_raised do
297 ast = @parser.parse(file, 'adl-test-ENTRY.structure_test1.v1')
298 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
299 end
300 end
[4]301end
Note: See TracBrowser for help on using the repository browser.