Changeset 322 for ruby


Ignore:
Timestamp:
Oct 18, 2009, 8:14:21 PM (15 years ago)
Author:
KOBAYASHI, Shinji
Message:

common/generic near completed

Location:
ruby/branches/0.5
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • ruby/branches/0.5/lib/open_ehr/rm/common/generic.rb

    r312 r322  
    109109              raise ArgumentError, 'cannot identified'
    110110            end
    111             super(:external_ref => args[:external_ref])
    112111            self.name = args[:name]
    113112            self.identifier = args[:identifier]
     113            super(args)
    114114          end
    115115
     
    126126              raise ArgumentError, 'cannot identified'
    127127            end
    128             unless identifier.nil? || !identifier.empty?
     128            if !identifier.nil? && identifier.empty?
    129129              raise ArgumentError, 'invaild identifier'
    130130            end
    131131            @identifier = identifier
     132          end
     133
     134          def external_ref=(external_ref)
     135            if @name.nil? && @identifier.nil? && external_ref.nil?
     136              raise ArgumentError, 'invalid external_ref'
     137            end
     138            @external_ref = external_ref
    132139          end
    133140        end
  • ruby/branches/0.5/lib/open_ehr/rm/data_types/quantity/date_time.rb

    r311 r322  
    2929              @value = value
    3030            end
     31
     32            undef magnitude=
    3133          end
    3234
     
    4345              @day = iso8601_date.day
    4446            end
    45 
    46             undef magnitude=
    4747
    4848            def magnitude
     
    8989         
    9090          class DvTime < DvTemporal
    91             include OpenEHR::AssumedLibraryTypes::ISO8601TimeModule
    92             def initialize(value, magnitude_status=nil, accuracy=nil,
    93                            normal_range=nil, normal_status=nil,
    94                            other_reference_range=nil)
    95               super(value, magnitude_status, accuracy, normal_range,
    96                     normal_status, other_reference_range)
    97             end
     91            include ISO8601TimeModule
    9892
    9993            def value=(value)
    10094              super(value)
    101               iso8601_time = AssumedLibraryTypes::ISO8601Time.new(value)
     95              iso8601_time = ISO8601Time.new(value)
    10296              @hour = iso8601_time.hour
    10397              @minute = iso8601_time.minute
     
    124118          class DvDateTime < DvTemporal
    125119            include OpenEHR::AssumedLibraryTypes::ISO8601DateTimeModule
    126             attr_reader :value
    127 
    128             def initialize(value, magnitude_status=nil, accuracy=nil,
    129                            normal_range=nil, normal_status=nil,
    130                            other_reference_range=nil)
    131               super(value, magnitude_status, accuracy, normal_range,
    132                     normal_status, other_reference_range)
    133             end
    134120
    135121            def value=(value)             
     
    147133
    148134            def magnitude
    149               seconds = ::DateTime.new(@year,@month,@day,@hour,@minute,@second) -
    150                 ::DateTime.new(0000,1,1,0,0,0)
     135              seconds = (((@year * 365.24 +
     136                           @month * 30.42 +
     137                           @day) * 24 + @hour) * 60 +
     138                         @minute) * 60 + @second
    151139              if @fractional_second.nil?
    152140                return seconds
     
    155143              end
    156144            end
    157 
    158             undef magnitude=
    159145
    160146            def diff(other)
     
    175161              minute = ((time_diff - hour*60*60)/60).to_i
    176162              second = (time_diff - hour * 60 *60 - minute * 60).to_i
    177               fractional_second = ((time_diff - time_diff.to_i)*1000000.0).to_i/1000000.0
    178 
     163              fractional_second =
     164                ((time_diff - time_diff.to_i)*1000000.0).to_i/1000000.0
    179165              return DvDuration.new(date_duration.value + 'T' +
    180166                        hour.to_s + 'H' +
    181167                        minute.to_s + 'M' +
    182168                        second.to_s + fractional_second.to_s[1..-1] + 'S')
    183                                    
    184169            end
    185170
  • ruby/branches/0.5/spec/lib/open_ehr/rm/common/generic/audit_details_spec.rb

    r312 r322  
    3737    @audit_details.description.value.should == 'test environment'
    3838  end
     39
     40  it 'should raise ArgumentError when system_id was assigned nil' do
     41    lambda {
     42      @audit_details.system_id = nil
     43    }.should raise_error ArgumentError
     44  end
     45
     46  it 'should raise ArgumentError when time_commited is nil' do
     47    lambda {
     48      @audit_details.time_committed = nil
     49    }.should raise_error ArgumentError
     50  end
    3951end
  • ruby/branches/0.5/spec/lib/open_ehr/rm/common/generic/party_identified_spec.rb

    r312 r322  
    2626    @party_identified.identifier.size.should be_equal 5
    2727  end
     28
     29  it 'should raise ArgumentError with all nil' do
     30    lambda {
     31      PartyIdentified.new
     32    }.should raise_error ArgumentError
     33  end
     34
     35  it 'should raise ArgumentError with nil name when ex_r and id nil' do
     36    @party_identified.identifier = nil
     37    @party_identified.external_ref = nil
     38    lambda {
     39      @party_identified.name = nil
     40    }.should raise_error ArgumentError
     41  end
     42
     43  it 'should raise ArgumentError with nil external_ref when name and id nil' do
     44    @party_identified.name = nil
     45    @party_identified.identifier = nil
     46    lambda {
     47      @party_identified.external_ref = nil
     48    }.should raise_error ArgumentError
     49  end
     50
     51  it 'should raise ArgumentError with nil identifier when name and ex_r nil' do
     52    @party_identified.name = nil
     53    @party_identified.external_ref = nil
     54    lambda {
     55      @party_identified.identifier = nil
     56    }.should raise_error ArgumentError
     57  end
     58
     59  it 'should raise ArgumentError with empty identifier' do
     60    lambda {
     61      @party_identified.identifier = Array.new
     62    }.should raise_error ArgumentError
     63  end
    2864end
  • ruby/branches/0.5/spec/lib/open_ehr/rm/common/generic/party_related_spec.rb

    r312 r322  
    11require File.dirname(__FILE__) + '/../../../../../spec_helper'
    22include OpenEHR::RM::Common::Generic
    3 
     3include OpenEHR::RM::DataTypes::Text
    44describe PartyRelated do
    55  before(:each) do
  • ruby/branches/0.5/test/unit/open_ehr/rm/data_types/quantity/date_time_test.rb

    r191 r322  
    3434    assert_equal 6, @dv_date.month
    3535    assert_equal 29, @dv_date.day
    36     assert_equal 733954, @dv_date.magnitude
     36    assert_equal b733954, @dv_date.magnitude
    3737    date2 = OpenEhr::RM::DataTypes::Quantity::DateTime::DvDate.new('2009-07-08')
    3838    assert_equal 'P0Y0M1W9D',@dv_date.diff(date2).value
Note: See TracChangeset for help on using the changeset viewer.