Ignore:
Timestamp:
Sep 24, 2009, 9:51:27 AM (15 years ago)
Author:
KOBAYASHI, Shinji
Message:

merged latest trunc change to branches/0.5

Location:
ruby/branches/0.5
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ruby/branches/0.5

  • ruby/branches/0.5/lib/adl_parser/test/scanner_test.rb

    r167 r290  
    1 require 'lib/adl_parser.rb'
    2 #require 'lib/scanner.rb'
    3 require 'test/unit'
     1require File.dirname(__FILE__) + '/test_helper.rb'
    42
    5 class YaparcParserTest < Test::Unit::TestCase
    6   def test_RootScanner
    7     parser = OpenEhr::ADL::Scanner::DADL::RootScanner.new
    8     assert_instance_of OpenEhr::ADL::Scanner::DADL::RootScanner,parser
    9     result = parser.parse('')
     3class ADLScannerTest < Test::Unit::TestCase
     4  def setup
     5    @scanner = OpenEHR::ADL::Scanner::ADLScanner.new([:adl], "filename")
    106  end
    117
    12   def test_V_LOCAL_TERM_CODE_REF
    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
    15     result = parser.parse('[en-us]')
    16     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
    1710  end
    1811
    19   def test_V_QUALIFIED_TERM_CODE_REF
    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
    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
     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
    2616  end
    2717
    28   def test_V_STRING
    29     parser = OpenEhr::ADL::Scanner::Common::V_STRING.new
    30     assert_instance_of OpenEhr::ADL::Scanner::Common::V_STRING,parser
    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
     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
    3524  end
    3625
    37   def test_V_REAL
    38     parser = OpenEhr::ADL::Scanner::Common::V_REAL.new
    39     assert_instance_of OpenEhr::ADL::Scanner::Common::V_REAL,parser
    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
     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
    4630  end
    4731
    48   def test_V_ISO8601_DURATION
    49     parser = OpenEhr::ADL::Scanner::Common::V_ISO8601_DURATION.new
    50     assert_instance_of OpenEhr::ADL::Scanner::Common::V_ISO8601_DURATION,parser
    51     result = parser.parse('PT1M')
    52     assert_instance_of Yaparc::Result::OK, result
    53     result = parser.parse('PYMWDTHMS')
    54     assert_instance_of Yaparc::Result::OK, result
    55     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")
    5643  end
    5744
    58   def test_V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN
    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
    61     result = parser.parse('yyyy-??-??T??:??:??')
    62     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
    6347  end
    6448
    65   def test_V_ISO8601_DATE_CONSTRAINT_PATTERN
    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
    68     result = parser.parse('yyyy-mm-XX-dd')
    69     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
    7056  end
    7157
    72   def test_V_ISO8601_TIME_CONSTRAINT_PATTERN
    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
    75     result = parser.parse('hh:mm:ss:??')
    76     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
    7763  end
    7864
    79   def test_dadl_reserved
    80     parser = OpenEhr::ADL::Scanner::DADL::RootScanner.new
    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
     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
    8670  end
    8771
    88   def test_cadl
    89     parser = OpenEhr::ADL::Scanner::CADL::RootScanner.new
    90     assert_instance_of OpenEhr::ADL::Scanner::CADL::RootScanner,parser
    91     result = parser.parse('PT1M')
    92     assert_instance_of Yaparc::Result::OK, result
    93     assert_equal [:V_ISO8601_DURATION, "PT1M"], result.value
    94     result = parser.parse('PYMWDTHMS')
    95     assert_instance_of Yaparc::Result::OK, result
    96     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")
    9783  end
    9884
    99   def test_cadl_reserved
    100     parser = OpenEhr::ADL::Scanner::CADL::RootScanner.new
    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
     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
    11090  end
    11191
    112  
     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
    113105end
Note: See TracChangeset for help on using the changeset viewer.