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

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

Scanners for ADL parser do not need yaparc library any more

File size: 3.1 KB
Line 
1require File.dirname(__FILE__) + '/test_helper.rb'
2
3class ADLScannerTest < Test::Unit::TestCase
4 def setup
5 @scanner = OpenEHR::ADL::Scanner::ADLScanner.new([:adl], "filename")
6 end
7
8 must "assert OpenEHR::ADL::Scanner::ADLScanner scanner instance" do
9 assert_instance_of OpenEHR::ADL::Scanner::ADLScanner, @scanner
10 end
11
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
16 end
17
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
22 assert_instance_of OpenEHR::RM::Support::Identification::Archetype_ID,val
23 end
24 end
25
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
30 end
31
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
37 end
38end
39
40class CADLScannerTest < Test::Unit::TestCase
41 def setup
42 @scanner = OpenEHR::ADL::Scanner::CADLScanner.new([:cadl], "filename")
43 end
44
45 must "assert OpenEHR::ADL::Scanner::CADLScanner scanner instance" do
46 assert_instance_of OpenEHR::ADL::Scanner::CADLScanner, @scanner
47 end
48
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
56 end
57
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
63 end
64
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
70 end
71
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
77 end
78end
79
80class DADLScannerTest < Test::Unit::TestCase
81 def setup
82 @scanner = OpenEHR::ADL::Scanner::DADLScanner.new([:dadl], "filename")
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.