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
RevLine 
[261]1require File.dirname(__FILE__) + '/test_helper.rb'
[17]2
[283]3class ADLScannerTest < Test::Unit::TestCase
4 def setup
5 @scanner = OpenEHR::ADL::Scanner::ADLScanner.new([:adl], "filename")
[17]6 end
7
[283]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
22 assert_instance_of OpenEHR::RM::Support::Identification::Archetype_ID,val
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
42 @scanner = OpenEHR::ADL::Scanner::CADLScanner.new([:cadl], "filename")
[19]43 end
44
[283]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
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.