source: ruby/trunk/lib/adl_parser/test/scanner_test.rb@ 307

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

ADL parser is roughly coupled with open_ehr model classes

File size: 3.1 KB
RevLine 
[261]1require File.dirname(__FILE__) + '/test_helper.rb'
[17]2
[283]3class ADLScannerTest < Test::Unit::TestCase
4 def setup
[307]5 @scanner = OpenEhr::ADL::Scanner::ADLScanner.new([:adl], "filename")
[17]6 end
7
[307]8 must "assert OpenEhr::ADL::Scanner::ADLScanner scanner instance" do
9 assert_instance_of OpenEhr::ADL::Scanner::ADLScanner, @scanner
[17]10 end
[18]11
[283]12 must "assert ADLScanner scanner scan CR and lineno incremented" do
13 lineno = @scanner.lineno
14 @scanner.scan("\n")
15 assert_equal lineno+1, @scanner.lineno
[18]16 end
17
[283]18 must "assert ADLScanner scanner scan ARCHETYPE_ID" do
19 lineno = @scanner.lineno
20 @scanner.scan("openEHR-EHR-OBSERVATION.body_mass_index.v1") do |sym, val|
21 assert_equal :V_ARCHETYPE_ID,sym
[307]22 assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID,val
[283]23 end
[18]24 end
25
[283]26 must "assert ADLScanner scanner scan white space and lineno unchanged" do
27 lineno = @scanner.lineno
28 @scanner.scan(" ")
29 assert_equal lineno, @scanner.lineno
[19]30 end
[18]31
[283]32 must "assert ADLScanner scanner scan V_QUALIFIED_TERM_CODE_REF" do
33 @scanner.scan("[ICD10AM(1998)::F23]") do |sym, val|
34 assert_equal :V_QUALIFIED_TERM_CODE_REF,sym
35 assert_equal "ICD10AM(1998)::F23",val
36 end
[18]37 end
[283]38end
[19]39
[283]40class CADLScannerTest < Test::Unit::TestCase
41 def setup
[307]42 @scanner = OpenEhr::ADL::Scanner::CADLScanner.new([:cadl], "filename")
[19]43 end
44
[307]45 must "assert OpenEhr::ADL::Scanner::CADLScanner scanner instance" do
46 assert_instance_of OpenEhr::ADL::Scanner::CADLScanner, @scanner
[19]47 end
48
[283]49 must "assert CADLScanner scanner scan V_ATTRIBUTE_IDENTIFIER" do
50 lineno = @scanner.lineno
51 @scanner.scan("identifier") do |sym, val|
52 assert_equal :V_ATTRIBUTE_IDENTIFIER, sym
53 assert_equal "identifier", val
54 end
55 assert_equal lineno, @scanner.lineno
[19]56 end
57
[283]58 must "assert CADLScanner scanner scan reserved words" do
59 lineno = @scanner.lineno
60 @scanner.scan("then") do |sym, val|
61 assert_equal :SYM_THEN, sym
62 end
[19]63 end
64
[283]65 must "assert CADLScanner scanner scan V_QUALIFIED_TERM_CODE_REF" do
66 @scanner.scan("[ICD10AM(1998)::F23]") do |sym, val|
67 assert_equal :V_QUALIFIED_TERM_CODE_REF,sym
68 assert_equal "ICD10AM(1998)::F23",val
69 end
[19]70 end
71
[283]72 must "assert CADLScanner scanner scan V_ISO8601_DURATION" do
73 @scanner.scan("PT1M") do |sym, val|
74 assert_equal :V_ISO8601_DURATION,sym
75 assert_equal "PT1M",val
76 end
[19]77 end
[17]78end
[283]79
80class DADLScannerTest < Test::Unit::TestCase
81 def setup
[307]82 @scanner = OpenEhr::ADL::Scanner::DADLScanner.new([:dadl], "filename")
[283]83 end
84
85 must "assert DADLScanner scanner scan V_QUALIFIED_TERM_CODE_REF" do
86 @scanner.scan("[ICD10AM(1998)::F23]") do |sym, val|
87 assert_equal :V_QUALIFIED_TERM_CODE_REF,sym
88 assert_equal "ICD10AM(1998)::F23",val
89 end
90 end
91
92 must "assert DADLScanner scanner scan V_ISO8601_EXTENDED_DATE" do
93 @scanner.scan("2005-10-10") do |sym, val|
94 assert_equal :V_ISO8601_EXTENDED_DATE,sym
95 assert_equal "2005-10-10",val
96 end
97 end
98
99 must "assert DADLScanner scanner scan V_STRING" do
100 @scanner.scan("\"string\"") do |sym, val|
101 assert_equal :V_STRING,sym
102 assert_equal "string",val
103 end
104 end
105end
Note: See TracBrowser for help on using the repository browser.