source: ruby/branches/0.5.0/lib/adl_parser/test/scanner_test.rb@ 167

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

adjust for rails

File size: 4.3 KB
RevLine 
[116]1require 'lib/adl_parser.rb'
2#require 'lib/scanner.rb'
[17]3require 'test/unit'
4
5class YaparcParserTest < Test::Unit::TestCase
6 def test_RootScanner
[167]7 parser = OpenEhr::ADL::Scanner::DADL::RootScanner.new
8 assert_instance_of OpenEhr::ADL::Scanner::DADL::RootScanner,parser
[17]9 result = parser.parse('')
10 end
11
12 def test_V_LOCAL_TERM_CODE_REF
[167]13 parser = OpenEhr::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF.new
14 assert_instance_of OpenEhr::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF,parser
[18]15 result = parser.parse('[en-us]')
16 assert_instance_of Yaparc::Result::OK, result
[17]17 end
[18]18
19 def test_V_QUALIFIED_TERM_CODE_REF
[167]20 parser = OpenEhr::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new
21 assert_instance_of OpenEhr::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF,parser
[18]22 result = parser.parse('[ISO_639::en]')
23 assert_instance_of Yaparc::Result::OK, result
24 result = parser.parse('[ISO_639::en-us]')
25 assert_instance_of Yaparc::Result::OK, result
26 end
27
28 def test_V_STRING
[167]29 parser = OpenEhr::ADL::Scanner::Common::V_STRING.new
30 assert_instance_of OpenEhr::ADL::Scanner::Common::V_STRING,parser
[18]31 result = parser.parse('"this is a string"')
32 assert_instance_of Yaparc::Result::OK, result
33 result = parser.parse('"en-us"')
34 assert_instance_of Yaparc::Result::OK, result
35 end
36
37 def test_V_REAL
[167]38 parser = OpenEhr::ADL::Scanner::Common::V_REAL.new
39 assert_instance_of OpenEhr::ADL::Scanner::Common::V_REAL,parser
[18]40 result = parser.parse('0.1')
41 assert_instance_of Yaparc::Result::OK, result
42 result = parser.parse('0.0..20000.0')
43 assert_instance_of Yaparc::Result::OK, result
44 assert_equal [:V_REAL, "0.0"], result.value
45 assert_equal "..20000.0", result.input
[19]46 end
[18]47
[19]48 def test_V_ISO8601_DURATION
[167]49 parser = OpenEhr::ADL::Scanner::Common::V_ISO8601_DURATION.new
50 assert_instance_of OpenEhr::ADL::Scanner::Common::V_ISO8601_DURATION,parser
[19]51 result = parser.parse('PT1M')
52 assert_instance_of Yaparc::Result::OK, result
[20]53 result = parser.parse('PYMWDTHMS')
54 assert_instance_of Yaparc::Result::OK, result
55 assert_equal [:V_ISO8601_DURATION, "PYMWDTHMS"], result.value
[18]56 end
[19]57
58 def test_V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN
[167]59 parser = OpenEhr::ADL::Scanner::CADL::V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN.new
60 assert_instance_of OpenEhr::ADL::Scanner::CADL::V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN,parser
[19]61 result = parser.parse('yyyy-??-??T??:??:??')
62 assert_instance_of Yaparc::Result::OK, result
63 end
64
65 def test_V_ISO8601_DATE_CONSTRAINT_PATTERN
[167]66 parser = OpenEhr::ADL::Scanner::CADL::V_ISO8601_DATE_CONSTRAINT_PATTERN.new
67 assert_instance_of OpenEhr::ADL::Scanner::CADL::V_ISO8601_DATE_CONSTRAINT_PATTERN,parser
[19]68 result = parser.parse('yyyy-mm-XX-dd')
69 assert_instance_of Yaparc::Result::OK, result
70 end
71
72 def test_V_ISO8601_TIME_CONSTRAINT_PATTERN
[167]73 parser = OpenEhr::ADL::Scanner::CADL::V_ISO8601_TIME_CONSTRAINT_PATTERN.new
74 assert_instance_of OpenEhr::ADL::Scanner::CADL::V_ISO8601_TIME_CONSTRAINT_PATTERN,parser
[19]75 result = parser.parse('hh:mm:ss:??')
76 assert_instance_of Yaparc::Result::OK, result
77 end
78
79 def test_dadl_reserved
[167]80 parser = OpenEhr::ADL::Scanner::DADL::RootScanner.new
[19]81 result = parser.parse('then')
82 assert_instance_of Yaparc::Result::OK, result
83 result = parser.parse('infinity')
84 assert_instance_of Yaparc::Result::OK, result
85 assert_equal [:SYM_INFINITY, :SYM_INFINITY], result.value
86 end
87
88 def test_cadl
[167]89 parser = OpenEhr::ADL::Scanner::CADL::RootScanner.new
90 assert_instance_of OpenEhr::ADL::Scanner::CADL::RootScanner,parser
[19]91 result = parser.parse('PT1M')
92 assert_instance_of Yaparc::Result::OK, result
93 assert_equal [:V_ISO8601_DURATION, "PT1M"], result.value
[20]94 result = parser.parse('PYMWDTHMS')
95 assert_instance_of Yaparc::Result::OK, result
96 assert_equal [:V_ISO8601_DURATION, "PYMWDTHMS"], result.value
[19]97 end
98
99 def test_cadl_reserved
[167]100 parser = OpenEhr::ADL::Scanner::CADL::RootScanner.new
[19]101 result = parser.parse('then')
102 assert_instance_of Yaparc::Result::OK, result
103 result = parser.parse('cardinality')
104 assert_instance_of Yaparc::Result::OK, result
105 assert_equal [:SYM_CARDINALITY, :SYM_CARDINALITY], result.value
106 result = parser.parse('ordered')
107 assert_instance_of Yaparc::Result::OK, result
108 assert_equal "", result.input
109 assert_equal [:SYM_ORDERED, :SYM_ORDERED], result.value
110 end
111
112
[17]113end
Note: See TracBrowser for help on using the repository browser.