Changeset 124


Ignore:
Timestamp:
May 20, 2009, 12:15:19 AM (15 years ago)
Author:
KOBAYASHI, Shinji
Message:

refs #48,#50

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

Legend:

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

    r123 r124  
    183183        @hour = hour
    184184      end
     185
    185186      def minute_unknown?
    186187        @minute.nil?
    187188      end
     189
    188190      def minute=(minute)
    189191        raise ArgumentError, "minute is not valid" if !minute.nil? and !ISO8601_TIME.valid_minute?(minute)
    190192        @minute = minute
    191193      end
     194
    192195      def second_unknown?
    193196        @second.nil?
    194197      end
     198
    195199      def second=(second)
    196200        raise ArgumentError, "minute not defined" if @minute.nil? and !second.nil?
     
    198202        @second = second
    199203      end
     204
    200205      def fractional_second=(fractional_second)
    201206        raise ArgumentError, "minute not defined" if minute_unknown? and !fractional_second.nil?
     
    204209        @fractional_second = fractional_second
    205210      end
     211
    206212      def has_fractional_second?
    207213        if @fractional_second.nil?
     
    211217        end
    212218      end
     219
    213220      def timezone=(timezone)
    214221        unless timezone.nil? or timezone == 'Z'
     
    222229        end
    223230      end
     231
    224232      def is_decimal_sign_comma?
    225233        true
    226234      end
     235
    227236      def is_extended?
    228237        true
    229238      end
     239
    230240      def is_partial?
    231241        second_unknown? or minute_unknown?
     
    370380    class ISO8601_TIMEZONE
    371381      attr_accessor :sign, :hour, :minute
     382
    372383      def is_gmt?
    373384        @sign == "+1" and @hour == 0 and @minute == 0
    374385      end
     386
    375387      def as_string
    376388        if @sign == "+1"
     
    383395    end # end of ISO8601_TIMEZONE
    384396
    385     class ISO_8601_DURATION
     397    class ISO8601_DURATION
    386398     
    387399      def initialize
    388       end
    389 
    390     end
     400       
     401      end
     402
     403      def as_string
     404
     405      end
     406    end # end of ISO8601_DURATION
    391407  end # end of Assumed_Types
    392408end # end of OpenEHR
  • ruby/trunk/lib/models/rm/data_types/quantity.rb

    r123 r124  
    1010          attr_reader :other_refference_ranges, :normal_range, :normal_status
    1111
    12           def initialize(normal_range=nil, other_reference_ranges=nil,
    13                          normal_status = nil)
     12          def initialize(normal_range=nil, normal_status = nil,
     13                         other_reference_ranges=nil)
    1414            self.normal_range = normal_range
     15            self.normal_status = normal_status
    1516            self.other_reference_ranges = other_reference_ranges
    16             self.normal_status = normal_status
    1717          end         
    1818
    1919          def is_normal?
    20             !normal_range.nil? or !normal_status.nil?
     20            if @normal_range.nil? and @normal_status.nil?
     21              return false
     22            elsif !@normal_range.nil?
     23              return @normal_range.has(@value)
     24            elsif !@normal_status.nil?
     25              return @normal_status.code_string == 'N'
     26            end
    2127          end
    2228
     
    2632
    2733          def <=>(other)
    28             raise NotImplementError, 'This method should be implemented'
     34            raise NotImplementedError, 'This method should be implemented'
    2935          end
    3036
     
    8894        end
    8995
     96        class Reference_Range
     97         
     98        end
     99
    90100        autoload :Date_Time, "rm/data_types/quantity/date_time.rb"
    91101       
  • ruby/trunk/lib/models/rm/data_types/text.rb

    r108 r124  
    130130        class DV_Coded_Text < DV_Text
    131131          attr_reader :defining_code
     132
    132133          def initialize(value, defining_code, formatting = nil,
    133134                         hyperlink = nil, mappings = nil, language = nil,
     
    136137            self.defining_code = defining_code
    137138          end
     139
    138140          def defining_code=(defining_code)
    139             definition_exists(defining_code)
     141            if defining_code.nil?
     142              raise ArgumentError, "Defiinition must be exist"
     143            end
    140144            @defining_code = defining_code
    141           end
    142           private
    143           def definition_exists(defining_code)
    144             raise ArgumentError, "Defiinition must be exist" if defining_code.nil?
    145145          end
    146146        end
  • ruby/trunk/lib/models/tests/rm/test_data_types.rb

    r123 r124  
    171171  def test_dv_ordered
    172172    assert !@dv_ordered.is_normal?
     173    assert_nil @dv_ordered.normal_status
     174    assert_nil @dv_ordered.normal_range
     175    assert_nil @dv_ordered.other_refference_ranges
     176    assert_raise(NotImplementedError){@dv_ordered<=>1}
     177    openehr_terminology_id = OpenEHR::RM::Support::Identification::Terminology_ID.new('openEHR','')
     178    normal_code = OpenEHR::RM::Data_Types::Text::Code_Phrase.new('N', openehr_terminology_id)
     179    assert_equal 'N', normal_code.code_string
     180    assert_nothing_raised(Exception){
     181      @dv_ordered.normal_status = normal_code }
     182    assert @dv_ordered.is_normal?
    173183  end
    174184end
  • ruby/trunk/lib/models/tests/test_assumed_library_types.rb

    r123 r124  
    99    assert_nothing_raised(Exception){@iso8601_time = OpenEHR::Assumed_Library_Types::ISO8601_TIME.new('15:55:37.32+0900')}
    1010    assert_nothing_raised(Exception){@iso8601_date_time = OpenEHR::Assumed_Library_Types::ISO8601_DATE_TIME.new('2009-04-27T15:55:37.32+0900')}
    11 #    assert_nothing_raised(Exception){@iso8601_duration = OpenEHR::Assumed_Library_Types::ISO8601_DURATION.new()}
     11    assert_nothing_raised(Exception){@iso8601_duration = OpenEHR::Assumed_Library_Types::ISO8601_DURATION.new()}
    1212    assert_nothing_raised(Exception){@iso8601_timezone = OpenEHR::Assumed_Library_Types::ISO8601_TIMEZONE.new}
    1313  end
     14
    1415  def test_initialize
    1516    assert_instance_of OpenEHR::Assumed_Library_Types::Interval, @interval
     
    1819    assert_instance_of OpenEHR::Assumed_Library_Types::ISO8601_TIME, @iso8601_time
    1920    assert_instance_of OpenEHR::Assumed_Library_Types::ISO8601_DATE_TIME, @iso8601_date_time
     21    assert_instance_of OpenEHR::Assumed_Library_Types::ISO8601_DURATION, @iso8601_duration
    2022    assert_instance_of OpenEHR::Assumed_Library_Types::ISO8601_TIMEZONE, @iso8601_timezone
    2123  end
     24
    2225  def test_limits_comparable
    2326    assert @interval.lower < @interval.upper
     
    2629    assert @interval.lower < @interval.upper
    2730  end
     31
    2832  def test_limits_consistent
    2933    assert @interval.has?(1.5)
Note: See TracChangeset for help on using the changeset viewer.