Changeset 104 for ruby/trunk
- Timestamp:
- Sep 23, 2008, 9:14:41 PM (16 years ago)
- Location:
- ruby/trunk/lib/models
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/models/rm.rb
r102 r104 1 1 $:.unshift File.join(File.dirname(__FILE__)) 2 3 2 # component: openEHR Ruby reference implementation 4 3 # description: This file contains rm.packages.domain classes … … 16 15 module Common 17 16 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" 19 19 end 20 20 -
ruby/trunk/lib/models/rm/common/archetyped.rb
r103 r104 99 99 end 100 100 end 101 101 102 class Link 102 103 attr_reader :meaning, :target, :type … … 117 118 raise ArgumentError, "type should not be nil" if type.nil? 118 119 @type = type 119 120 120 end 121 121 end -
ruby/trunk/lib/models/rm/common/generic.rb
r83 r104 6 6 module Common 7 7 module Generic 8 class Audit_Details 9 end 8 10 class Revision_History 11 9 12 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 10 32 end # of Generic 11 33 end # of Common -
ruby/trunk/lib/models/rm/data_types/quantity.rb
r88 r104 6 6 module Data_Types 7 7 module Quantity 8 moduleDV_Ordered < OpenEHR::RM::Data_Types::Basic::Data_Value8 class DV_Ordered < OpenEHR::RM::Data_Types::Basic::Data_Value 9 9 include Comparable 10 10 attr_accessor :other_refference_ranges, :normal_range … … 31 31 end 32 32 33 module DV_Quantified 34 include DV_Ordered 33 class DV_Quantified < DV_Ordered 35 34 def magnitude 36 35 end … … 39 38 end 40 39 41 class DV_Ordinal 42 include DV_Ordered 40 class DV_Ordinal < DV_Ordered 43 41 attr_reader :symbol, :value 44 42 def is_strictly_comparable_to? … … 48 46 end 49 47 50 module DV_Absolute_Quantity 51 include DV_Quantified 48 class DV_Absolute_Quantity < DV_Quantified 52 49 attr_reader :accuracy 53 50 -
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 1 5 require 'uri' 2 6 #require 'uri/generic' … … 19 23 @@schemes['EHR'] = EHR 20 24 end 25 21 26 module OpenEHR 22 27 module RM … … 51 56 end 52 57 end 58 53 59 class DV_EHR_URI < DV_URI 54 60 def initialize(value) -
ruby/trunk/lib/models/tests/test_reference_model.rb
r103 r104 10 10 @translation_details = OpenEHR::RM::Common::Resource::TRANSLATION_DETAILS.new(nil,nil,nil,nil,nil) 11 11 # @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")17 12 @dv_text = OpenEHR::RM::Data_Types::Text::DV_Text.new("valid value") 18 13 @dv_coded_text = OpenEHR::RM::Data_Types::Text::DV_Coded_Text.new("valid value", "AT1000") … … 29 24 assert_instance_of OpenEHR::RM::Common::Resource::AUTHORED_RESOURCE, @authored_resource 30 25 assert_instance_of OpenEHR::RM::Common::Resource::TRANSLATION_DETAILS, @translation_details 31 assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_Boolean, @dv_boolean32 assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_State, @dv_state33 assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_Identifier, @dv_identifier34 assert_instance_of OpenEHR::RM::Data_Types::URI::DV_URI, @dv_uri35 assert_instance_of OpenEHR::RM::Data_Types::URI::DV_EHR_URI, @dv_ehr_uri36 26 assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Text, @dv_text 37 27 assert_instance_of OpenEHR::RM::Data_Types::Text::DV_Coded_Text, @dv_coded_text … … 48 38 assert_equal("\r", OpenEHR::RM::Data_Types::Basic::Data_Value::CR) 49 39 assert_equal("\n", OpenEHR::RM::Data_Types::Basic::Data_Value::LF) 50 end51 52 def test_dv_boolean53 assert @dv_boolean.value?54 @dv_boolean.value = false55 assert !@dv_boolean.value?56 # Constraints Value_exists57 assert_raise(ArgumentError){@dv_boolean.value=nil}58 assert_raise(ArgumentError){OpenEHR::RM::Data_Types::Basic::DV_Boolean.new(nil)}59 end60 61 def test_dv_state62 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 end72 73 def test_dv_identifier74 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 end88 89 def test_dv_uri90 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 end99 100 def test_dv_ehr_uri101 assert_equal("ehr", @dv_ehr_uri.scheme)102 assert_raise(ArgumentError){103 @dv_ehr_uri.value="svn://www.openehr.jp/openehr-jp/" }104 40 end 105 41 … … 416 352 assert_nothing_raised(Exception){@archetyped = OpenEHR::RM::Common::Archetyped::Archetyped.new(@archetype_id, '1.0.1')} 417 353 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 420 357 def test_init 421 358 assert_instance_of OpenEHR::RM::Common::Archetyped::Archetyped, @archetyped 422 359 assert_instance_of OpenEHR::RM::Common::Archetyped::Link, @link 423 360 end 361 424 362 def test_archetyped 425 363 assert_equal @archetype_id, @archetyped.archetype_id … … 436 374 assert_equal '1.0.2', @archetyped.rm_version 437 375 end 376 438 377 def test_link 439 378 # test constructor … … 455 394 end 456 395 end 396 397 class 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 446 end 447 448 class 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 476 end 477 478 class 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 485 end
Note:
See TracChangeset
for help on using the changeset viewer.