require 'test/unit' require 'set' class RM_Common_Resource_Test < Test::Unit::TestCase def setup terminology_id = TerminologyId.new('openehr') code_phrase = CodePhrase.new('ja', terminology_id) @translation_details = OpenEhr::RM::Common::Resource::TranslationDetails.new(:language => code_phrase, :author => {'KOBAYASHI, Shinji', 'Ehime Univ'}, :accreditation => 'jp', :other_details => {'ruby', 'test'}) @authored_resource = OpenEhr::RM::Common::Resource::AuthoredResource.new(:original_language => code_phrase, :translations => {'ja', @translation_details}, :description => "test") @resource_description_item = OpenEhr::RM::Common::Resource::ResourceDescriptionItem.new(:language => code_phrase, :purpose => 'test', :keywords => %w[test ruby], :use => 'unit test', :misuse => 'real use', :copyright => 'openEHR.jp', :original_resource_uri => {'issuer', 'http://openehr.jp/'}, :other_details => {'samos', 'icicth7'}) @resource_description = OpenEhr::RM::Common::Resource::ResourceDescription.new(:original_author => {'KOBAYASHI, Shinji' => 'Ehime University'}, :lifecycle_state => 'experimental', :details => {'ja', @resource_description_item}, :other_contributors => %w[aki tim hugh], :resource_package_uri => 'http://openehr.jp/svn/ruby', :other_details => {'ja', 'shikoku'}, :parent_resource => @authored_resource) @authored_resource = OpenEhr::RM::Common::Resource::AuthoredResource.new(:original_language => code_phrase, :translations => {'ja', @translation_details}, :description => @resource_description) end def test_init assert_instance_of OpenEhr::RM::Common::Resource::AuthoredResource, @authored_resource assert_instance_of OpenEhr::RM::Common::Resource::TranslationDetails, @translation_details assert_instance_of OpenEhr::RM::Common::Resource::ResourceDescriptionItem, @resource_description_item assert_instance_of OpenEhr::RM::Common::Resource::ResourceDescription, @resource_description end def test_translation_details assert_equal 'ja', @translation_details.language.code_string assert_equal 'Ehime Univ', @translation_details.author['KOBAYASHI, Shinji'] assert_equal 'jp', @translation_details.accreditation assert_equal 'test', @translation_details.other_details['ruby'] end def test_authoured_resource assert_equal 'ja', @authored_resource.original_language.code_string assert_equal @translation_details, @authored_resource.translations['ja'] assert_equal 'experimental', @authored_resource.description.lifecycle_state assert !@authored_resource.is_controlled? assert_equal(Set['ja'], @authored_resource.languages_available) end def test_resource_description_item assert_equal 'ja', @resource_description_item.language.code_string assert_equal 'test', @resource_description_item.purpose assert_equal %w[test ruby], @resource_description_item.keywords assert_equal 'unit test', @resource_description_item.use assert_equal 'real use', @resource_description_item.misuse assert_equal 'openEHR.jp', @resource_description_item.copyright assert_equal 'http://openehr.jp/', @resource_description_item.original_resource_uri['issuer'] assert_equal 'icicth7', @resource_description_item.other_details['samos'] end def test_resource_description assert_equal 'Ehime University', @resource_description.original_author['KOBAYASHI, Shinji'] assert_equal 'experimental', @resource_description.lifecycle_state assert_equal 'test', @resource_description.details['ja'].purpose assert_equal %w[aki tim hugh], @resource_description.other_contributors assert_equal 'http://openehr.jp/svn/ruby', @resource_description.resource_package_uri assert_equal 'shikoku', @resource_description.other_details['ja'] assert_equal 'ja', @resource_description.parent_resource.original_language.code_string end end