Changeset 104 for ruby/trunk


Ignore:
Timestamp:
Sep 23, 2008, 9:14:41 PM (16 years ago)
Author:
KOBAYASHI, Shinji
Message:

fixed #46
refs #62, #65, #50

arranged structure of test_reference_model.rb
divided test classes

Location:
ruby/trunk/lib/models
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/lib/models/rm.rb

    r102 r104  
    11$:.unshift File.join(File.dirname(__FILE__))
    2 
    32# component: openEHR Ruby reference implementation
    43# description: This file contains rm.packages.domain classes
     
    1615    module Common
    1716      autoload :Resource, "rm/common/resource.rb"
    18       autoload :Archetyped, "rm/common/archetyped"
     17      autoload :Archetyped, "rm/common/archetyped.rb"
     18      autoload :Generic, "rm/common/generic.rb"
    1919    end
    2020
  • ruby/trunk/lib/models/rm/common/archetyped.rb

    r103 r104  
    9999          end
    100100        end
     101
    101102        class Link
    102103          attr_reader :meaning, :target, :type
     
    117118            raise ArgumentError, "type should not be nil" if type.nil?
    118119            @type = type
    119 
    120120          end
    121121        end
  • ruby/trunk/lib/models/rm/common/generic.rb

    r83 r104  
    66    module Common
    77      module Generic
     8        class Audit_Details
     9        end
    810        class Revision_History
     11         
    912        end # of Revision_History
     13
     14        class Revision_History_Item
     15         
     16        end # of Revision_History_Item
     17
     18        class Party_Proxy
     19          def external_ref
     20            Raise NotImplementedError, 'external_ref shoud provide Party_Ref'
     21          end
     22        end
     23
     24        class Party_Self < Party_Proxy
     25
     26        end
     27
     28        class Party_Identified < Party_Proxy
     29
     30        end
     31
    1032      end # of Generic
    1133    end # of Common
  • ruby/trunk/lib/models/rm/data_types/quantity.rb

    r88 r104  
    66    module Data_Types
    77      module Quantity
    8         module DV_Ordered < OpenEHR::RM::Data_Types::Basic::Data_Value
     8        class DV_Ordered < OpenEHR::RM::Data_Types::Basic::Data_Value
    99          include Comparable
    1010          attr_accessor :other_refference_ranges, :normal_range
     
    3131        end
    3232
    33         module DV_Quantified
    34           include DV_Ordered
     33        class DV_Quantified < DV_Ordered
    3534          def magnitude
    3635          end
     
    3938        end
    4039
    41         class DV_Ordinal
    42           include DV_Ordered
     40        class DV_Ordinal < DV_Ordered
    4341          attr_reader :symbol, :value
    4442          def is_strictly_comparable_to?
     
    4846        end
    4947
    50         module DV_Absolute_Quantity
    51           include DV_Quantified
     48        class DV_Absolute_Quantity < DV_Quantified
    5249          attr_reader :accuracy
    5350
  • ruby/trunk/lib/models/rm/data_types/uri.rb

    r103 r104  
     1# This module is implemented from this UML:
     2#http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109701308832_384250_6986Report.html
     3# Ticket refs #46
     4
    15require 'uri'
    26#require 'uri/generic'
     
    1923  @@schemes['EHR'] = EHR
    2024end
     25
    2126module OpenEHR
    2227  module RM
     
    5156          end
    5257        end
     58
    5359        class DV_EHR_URI < DV_URI
    5460          def initialize(value)
  • ruby/trunk/lib/models/tests/test_reference_model.rb

    r103 r104  
    1010    @translation_details = OpenEHR::RM::Common::Resource::TRANSLATION_DETAILS.new(nil,nil,nil,nil,nil)
    1111#    @openehr_definitions = OpenEHR::RM::Support::Definition::OpenEHR_Definitions.new
    12     @dv_boolean = OpenEHR::RM::Data_Types::Basic::DV_Boolean.new("TRUE")
    13     @dv_state = OpenEHR::RM::Data_Types::Basic::DV_State.new("code1",true)
    14     @dv_identifier = OpenEHR::RM::Data_Types::Basic::DV_Identifier.new("Ruby Hospital","0123456-0", "Information office", "personal id")
    15     @dv_uri = OpenEHR::RM::Data_Types::URI::DV_URI.new("http://www.openehr.jp/changeset/test?cmd=93#file0")
    16     @dv_ehr_uri = OpenEHR::RM::Data_Types::URI::DV_EHR_URI.new("ehr://1234567/87284370-2D4B-4e3d-A3F3-F303D2F4F34B@2005-08-02T04:30:00")
    1712    @dv_text = OpenEHR::RM::Data_Types::Text::DV_Text.new("valid value")
    1813    @dv_coded_text = OpenEHR::RM::Data_Types::Text::DV_Coded_Text.new("valid value", "AT1000")
     
    2924    assert_instance_of OpenEHR::RM::Common::Resource::AUTHORED_RESOURCE, @authored_resource
    3025    assert_instance_of OpenEHR::RM::Common::Resource::TRANSLATION_DETAILS, @translation_details
    31     assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_Boolean, @dv_boolean
    32     assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_State, @dv_state
    33     assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_Identifier, @dv_identifier
    34     assert_instance_of OpenEHR::RM::Data_Types::URI::DV_URI, @dv_uri
    35     assert_instance_of OpenEHR::RM::Data_Types::URI::DV_EHR_URI, @dv_ehr_uri
    3626    assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Text, @dv_text
    3727    assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Coded_Text, @dv_coded_text
     
    4838    assert_equal("\r", OpenEHR::RM::Data_Types::Basic::Data_Value::CR)
    4939    assert_equal("\n", OpenEHR::RM::Data_Types::Basic::Data_Value::LF)
    50   end
    51 
    52   def test_dv_boolean
    53     assert @dv_boolean.value?
    54     @dv_boolean.value = false
    55     assert !@dv_boolean.value?
    56     # Constraints Value_exists
    57     assert_raise(ArgumentError){@dv_boolean.value=nil}
    58     assert_raise(ArgumentError){OpenEHR::RM::Data_Types::Basic::DV_Boolean.new(nil)}
    59   end
    60 
    61   def test_dv_state
    62     assert_equal("code1", @dv_state.value)
    63     assert_nothing_raised(Exception){@dv_state.value = "code2"}
    64     assert_equal("code2", @dv_state.value)
    65     assert @dv_state.is_terminal?
    66     assert_nothing_raised(Exception){@dv_state.is_terminal = false}
    67     assert !@dv_state.is_terminal?
    68     assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_State.new(nil,nil)}
    69     assert_raise(ArgumentError) {@dv_state.value=nil}
    70     assert_raise(ArgumentError) {@dv_state.is_terminal=nil}
    71   end
    72 
    73   def test_dv_identifier
    74     assert_equal("Ruby Hospital", @dv_identifier.assigner)
    75     assert_equal("0123456-0", @dv_identifier.id)
    76     assert_equal("Information office", @dv_identifier.issuer)
    77     assert_equal("personal id", @dv_identifier.type)
    78     @dv_identifier.assigner = "Test Hospital"
    79     assert_equal("Test Hospital", @dv_identifier.assigner)
    80     @dv_identifier.id = "TEST-0987"
    81     assert_equal("TEST-0987", @dv_identifier.id)
    82     @dv_identifier.issuer = "Security office"
    83     assert_equal("Security office", @dv_identifier.issuer)
    84     @dv_identifier.type = "test id"
    85     assert_equal("test id", @dv_identifier.type)
    86     assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_Identifier.new(nil, nil, nil, nil)}
    87   end
    88 
    89   def test_dv_uri
    90     assert_equal("file0", @dv_uri.fragment_id)
    91     assert_equal("/changeset/test", @dv_uri.path)
    92     assert_equal("cmd=93", @dv_uri.query)
    93     assert_equal("http", @dv_uri.scheme)
    94     assert_equal("http://www.openehr.jp/changeset/test?cmd=93#file0", @dv_uri.value)
    95     @dv_uri.value="svn://www.openehr.jp/openehr-jp/"
    96     assert_equal("svn://www.openehr.jp/openehr-jp/", @dv_uri.value)
    97     assert_equal("/openehr-jp/", @dv_uri.path)
    98   end
    99 
    100   def test_dv_ehr_uri
    101     assert_equal("ehr", @dv_ehr_uri.scheme)
    102     assert_raise(ArgumentError){
    103       @dv_ehr_uri.value="svn://www.openehr.jp/openehr-jp/" }
    10440  end
    10541
     
    416352    assert_nothing_raised(Exception){@archetyped = OpenEHR::RM::Common::Archetyped::Archetyped.new(@archetype_id, '1.0.1')}
    417353    assert_nothing_raised(Exception){@link = OpenEHR::RM::Common::Archetyped::Link.new(OpenEHR::RM::Data_Types::Text::DV_Text.new("generic"), OpenEHR::RM::Data_Types::URI::DV_EHR_URI.new("ehr://test/"),OpenEHR::RM::Data_Types::Text::DV_Text.new("problem"))}
    418    
    419   end
     354#    assert_nothing_raised(Exception){@
     355  end
     356
    420357  def test_init
    421358    assert_instance_of OpenEHR::RM::Common::Archetyped::Archetyped, @archetyped
    422359    assert_instance_of OpenEHR::RM::Common::Archetyped::Link, @link
    423360  end
     361
    424362  def test_archetyped
    425363    assert_equal @archetype_id, @archetyped.archetype_id
     
    436374    assert_equal '1.0.2', @archetyped.rm_version
    437375  end
     376
    438377  def test_link
    439378    # test constructor
     
    455394  end
    456395end
     396
     397class RM_Data_Types_Basic_Test < Test::Unit::TestCase
     398  def setup
     399    @dv_boolean = OpenEHR::RM::Data_Types::Basic::DV_Boolean.new("TRUE")
     400    @dv_state = OpenEHR::RM::Data_Types::Basic::DV_State.new("code1",true)
     401    @dv_identifier = OpenEHR::RM::Data_Types::Basic::DV_Identifier.new("Ruby Hospital","0123456-0", "Information office", "personal id")
     402  end
     403
     404  def test_init
     405    assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_Boolean, @dv_boolean
     406    assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_State, @dv_state
     407    assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_Identifier, @dv_identifier
     408  end
     409
     410  def test_dv_boolean
     411    assert @dv_boolean.value?
     412    @dv_boolean.value = false
     413    assert !@dv_boolean.value?
     414    # inv: Value_exists
     415    assert_raise(ArgumentError){@dv_boolean.value=nil}
     416    assert_raise(ArgumentError){OpenEHR::RM::Data_Types::Basic::DV_Boolean.new(nil)}
     417  end
     418
     419  def test_dv_state
     420    assert_equal("code1", @dv_state.value)
     421    assert_nothing_raised(Exception){@dv_state.value = "code2"}
     422    assert_equal("code2", @dv_state.value)
     423    assert @dv_state.is_terminal?
     424    assert_nothing_raised(Exception){@dv_state.is_terminal = false}
     425    assert !@dv_state.is_terminal?
     426    assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_State.new(nil,nil)}
     427    assert_raise(ArgumentError) {@dv_state.value=nil}
     428    assert_raise(ArgumentError) {@dv_state.is_terminal=nil}
     429  end
     430
     431  def test_dv_identifier
     432    assert_equal("Ruby Hospital", @dv_identifier.assigner)
     433    assert_equal("0123456-0", @dv_identifier.id)
     434    assert_equal("Information office", @dv_identifier.issuer)
     435    assert_equal("personal id", @dv_identifier.type)
     436    @dv_identifier.assigner = "Test Hospital"
     437    assert_equal("Test Hospital", @dv_identifier.assigner)
     438    @dv_identifier.id = "TEST-0987"
     439    assert_equal("TEST-0987", @dv_identifier.id)
     440    @dv_identifier.issuer = "Security office"
     441    assert_equal("Security office", @dv_identifier.issuer)
     442    @dv_identifier.type = "test id"
     443    assert_equal("test id", @dv_identifier.type)
     444    assert_raise(ArgumentError) {OpenEHR::RM::Data_Types::Basic::DV_Identifier.new(nil, nil, nil, nil)}
     445  end
     446end
     447
     448class RM_Data_Types_URI_Test < Test::Unit::TestCase
     449  def setup
     450    @dv_uri = OpenEHR::RM::Data_Types::URI::DV_URI.new("http://www.openehr.jp/changeset/test?cmd=93#file0")
     451    @dv_ehr_uri = OpenEHR::RM::Data_Types::URI::DV_EHR_URI.new("ehr://1234567/87284370-2D4B-4e3d-A3F3-F303D2F4F34B@2005-08-02T04:30:00")
     452  end
     453
     454  def test_init
     455    assert_instance_of OpenEHR::RM::Data_Types::URI::DV_URI, @dv_uri
     456    assert_instance_of OpenEHR::RM::Data_Types::URI::DV_EHR_URI, @dv_ehr_uri   
     457  end
     458
     459  def test_dv_uri
     460    assert_equal("file0", @dv_uri.fragment_id)
     461    assert_equal("/changeset/test", @dv_uri.path)
     462    assert_equal("cmd=93", @dv_uri.query)
     463    assert_equal("http", @dv_uri.scheme)
     464    assert_equal("http://www.openehr.jp/changeset/test?cmd=93#file0", @dv_uri.value)
     465    @dv_uri.value="svn://www.openehr.jp/openehr-jp/"
     466    assert_equal("svn://www.openehr.jp/openehr-jp/", @dv_uri.value)
     467    assert_equal("/openehr-jp/", @dv_uri.path)
     468  end
     469
     470  def test_dv_ehr_uri
     471    assert_equal("ehr", @dv_ehr_uri.scheme)
     472    assert_raise(ArgumentError){
     473      @dv_ehr_uri.value="svn://www.openehr.jp/openehr-jp/" }
     474  end
     475
     476end
     477
     478class RM_Common_Generic_Test < Test::Unit::TestCase
     479  def setup
     480    assert_nothing_raised(Exception){@party_proxy = OpenEHR::RM::Common::Generic::Party_Proxy.new}
     481#    assert_nothing_raised(Exception){@audit_details = OpenEHR::RM::Common::Generic::Audit_Details.new('pikachu', @party_proxy, OpenEHR::RM::Data_Types::Quantity::Date_Time::DV_DATE_TIME.new(2008))}
     482  end
     483  def test_init
     484  end
     485end
Note: See TracChangeset for help on using the changeset viewer.