source: ruby/branches/0.5/lib/adl_parser/test/scanner_test.rb@ 290

Last change on this file since 290 was 290, checked in by KOBAYASHI, Shinji, 15 years ago

merged latest trunc change to branches/0.5

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.