Ignore:
Timestamp:
Sep 20, 2009, 1:20:48 PM (15 years ago)
Author:
Tatsukawa, Akimichi
Message:

Scanners for ADL parser do not need yaparc library any more

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/lib/adl_parser/test/scanner_test.rb

    r261 r283  
    11require File.dirname(__FILE__) + '/test_helper.rb'
    22
    3 class YaparcParserTest < Test::Unit::TestCase
    4   must "assert root scanner instance" do
    5     parser = OpenEHR::ADL::Scanner::DADL::RootScanner.new
    6     assert_instance_of OpenEHR::ADL::Scanner::DADL::RootScanner,parser
    7     result = parser.parse('')
     3class ADLScannerTest < Test::Unit::TestCase
     4  def setup
     5    @scanner = OpenEHR::ADL::Scanner::ADLScanner.new([:adl], "filename")
    86  end
    97
    10   # \[{ALPHANUM}{NAMECHAR}*\]
    11   must "assert V_LOCAL_TERM_CODE_REF scanner is properly working" do
    12     parser = OpenEHR::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF.new
    13     assert_instance_of OpenEHR::ADL::Scanner::Common::V_LOCAL_TERM_CODE_REF,parser
    14     result = parser.parse('[en-us]')
    15     assert_instance_of Yaparc::Result::OK, result
     8  must "assert OpenEHR::ADL::Scanner::ADLScanner scanner instance" do
     9    assert_instance_of OpenEHR::ADL::Scanner::ADLScanner, @scanner
    1610  end
    1711
    18   must "assert V_QUALIFIED_TERM_CODE_REF scanner is properly working" do
    19     parser = OpenEHR::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF.new
    20     assert_instance_of OpenEHR::ADL::Scanner::Common::V_QUALIFIED_TERM_CODE_REF,parser
    21     result = parser.parse('[ISO_639::en]')
    22     assert_instance_of Yaparc::Result::OK, result
    23     result = parser.parse('[ISO_639::en-us]')
    24     assert_instance_of Yaparc::Result::OK, result
     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
    2516  end
    2617
    27   must "assert V_STRING scanner is properly working" do
    28     parser = OpenEHR::ADL::Scanner::Common::V_STRING.new
    29     assert_instance_of OpenEHR::ADL::Scanner::Common::V_STRING,parser
    30     result = parser.parse('"this is a string"')
    31     assert_instance_of Yaparc::Result::OK, result
    32     result = parser.parse('"en-us"')
    33     assert_instance_of Yaparc::Result::OK, result
     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
    3424  end
    3525
    36   must "assert V_REAL scanner is properly working" do
    37     parser = OpenEHR::ADL::Scanner::Common::V_REAL.new
    38     assert_instance_of OpenEHR::ADL::Scanner::Common::V_REAL,parser
    39     result = parser.parse('0.1')
    40     assert_instance_of Yaparc::Result::OK, result
    41     result = parser.parse('0.0..20000.0')
    42     assert_instance_of Yaparc::Result::OK, result
    43     assert_equal [:V_REAL, "0.0"], result.value
    44     assert_equal "..20000.0", result.input
     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
    4530  end
    4631
    47   must "assert V_ISO8601_DURATION scanner is properly working" do
    48     parser = OpenEHR::ADL::Scanner::Common::V_ISO8601_DURATION.new
    49     assert_instance_of OpenEHR::ADL::Scanner::Common::V_ISO8601_DURATION,parser
    50     result = parser.parse('PT1M')
    51     assert_instance_of Yaparc::Result::OK, result
    52     result = parser.parse('PYMWDTHMS')
    53     assert_instance_of Yaparc::Result::OK, result
    54     assert_equal [:V_ISO8601_DURATION, "PYMWDTHMS"], result.value
     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")
    5543  end
    5644
    57   must "assert V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN scanner is properly working" do
    58     parser = OpenEHR::ADL::Scanner::CADL::V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN.new
    59     assert_instance_of OpenEHR::ADL::Scanner::CADL::V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN,parser
    60     result = parser.parse('yyyy-??-??T??:??:??')
    61     assert_instance_of Yaparc::Result::OK, result
     45  must "assert OpenEHR::ADL::Scanner::CADLScanner scanner instance" do
     46    assert_instance_of OpenEHR::ADL::Scanner::CADLScanner, @scanner
    6247  end
    6348
    64   must "assert V_ISO8601_DATE_CONSTRAINT_PATTERN scanner is properly working" do
    65     parser = OpenEHR::ADL::Scanner::CADL::V_ISO8601_DATE_CONSTRAINT_PATTERN.new
    66     assert_instance_of OpenEHR::ADL::Scanner::CADL::V_ISO8601_DATE_CONSTRAINT_PATTERN,parser
    67     result = parser.parse('yyyy-mm-XX-dd')
    68     assert_instance_of Yaparc::Result::OK, result
     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
    6956  end
    7057
    71   must "assert V_ISO8601_TIME_CONSTRAINT_PATTERN scanner is properly working" do
    72     parser = OpenEHR::ADL::Scanner::CADL::V_ISO8601_TIME_CONSTRAINT_PATTERN.new
    73     assert_instance_of OpenEHR::ADL::Scanner::CADL::V_ISO8601_TIME_CONSTRAINT_PATTERN,parser
    74     result = parser.parse('hh:mm:ss:??')
    75     assert_instance_of Yaparc::Result::OK, result
     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
    7663  end
    7764
    78   must "assert reserved words in dADL scanner is properly working" do
    79     parser = OpenEHR::ADL::Scanner::DADL::RootScanner.new
    80     result = parser.parse('then')
    81     assert_instance_of Yaparc::Result::OK, result
    82     result = parser.parse('infinity')
    83     assert_instance_of Yaparc::Result::OK, result
    84     assert_equal [:SYM_INFINITY, :SYM_INFINITY], result.value
     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
    8570  end
    8671
    87   must "assert reserved words in cADL scanner is properly working" do
    88     parser = OpenEHR::ADL::Scanner::CADL::RootScanner.new
    89     assert_instance_of OpenEHR::ADL::Scanner::CADL::RootScanner,parser
    90     result = parser.parse('PT1M')
    91     assert_instance_of Yaparc::Result::OK, result
    92     assert_equal [:V_ISO8601_DURATION, "PT1M"], result.value
    93     result = parser.parse('PYMWDTHMS')
    94     assert_instance_of Yaparc::Result::OK, result
    95     assert_equal [:V_ISO8601_DURATION, "PYMWDTHMS"], result.value
     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")
    9683  end
    9784
    98   must "assert other reserved words in cADL scanner is properly working" do
    99     parser = OpenEHR::ADL::Scanner::CADL::RootScanner.new
    100     result = parser.parse('then')
    101     assert_instance_of Yaparc::Result::OK, result
    102     result = parser.parse('cardinality')
    103     assert_instance_of Yaparc::Result::OK, result
    104     assert_equal [:SYM_CARDINALITY, :SYM_CARDINALITY], result.value
    105     result = parser.parse('ordered')
    106     assert_instance_of Yaparc::Result::OK, result
    107     assert_equal "", result.input
    108     assert_equal [:SYM_ORDERED, :SYM_ORDERED], result.value
     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
    109104  end
    110105end
Note: See TracChangeset for help on using the changeset viewer.