Changeset 148
- Timestamp:
- Jun 29, 2009, 9:38:35 AM (15 years ago)
- Location:
- ruby/trunk/lib/models
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/models/rm/data_types/quantity.rb
r147 r148 85 85 end 86 86 87 def accuracy=(accuracy)88 raise NotImplementedError, 'subclasses need to implemented'89 end90 91 87 def accuracy_unknown? 92 return accuracy.nil?88 return @accuracy.nil? 93 89 end 94 90 … … 149 145 150 146 class DV_Absolute_Quantity < DV_Quantified 151 attr_reader :accuracy 147 attr_accessor :accuracy 148 149 def initialize(magnitude, magnitude_status=nil, accuracy=nil, 150 normal_range=nil, normal_status = nil, 151 other_reference_ranges=nil) 152 super (magnitude, magnitude_status, normal_range, 153 normal_status, other_reference_ranges) 154 self.accuracy = accuracy 155 end 152 156 153 157 def add(a_diff) … … 318 322 self.denominator = denominator 319 323 self.precision = precision 324 self.magnitude_status = magnitude_status 325 unless accuracy.nil? 326 set_accuracy(accuracy, accuracy_percent) 327 else 328 @accuracy, @accuracy_percent = nil, nil 329 end 330 self.normal_range = normal_range 331 self.normal_status = normal_status 332 self.other_reference_ranges = other_reference_ranges 320 333 end 321 334 -
ruby/trunk/lib/models/tests/rm/test_data_types.rb
r147 r148 187 187 assert_nothing_raised(Exception){ 188 188 @dv_proportion = OpenEHR::RM::Data_Types::Quantity::DV_Proportion.new(2,3,0)} 189 assert_nothing_raised(Exception){ 190 @dv_absolute_quantity = OpenEHR::RM::Data_Types::Quantity::DV_Absolute_Quantity.new(7,'=')} 189 191 end 190 192 … … 201 203 assert_instance_of OpenEHR::RM::Data_Types::Quantity::DV_Count, @dv_count 202 204 assert_instance_of OpenEHR::RM::Data_Types::Quantity::DV_Proportion, @dv_proportion 205 assert_instance_of OpenEHR::RM::Data_Types::Quantity::DV_Absolute_Quantity, @dv_absolute_quantity 203 206 end 204 207 … … 250 253 assert_nothing_raised(Exception){@dv_quantified.magnitude_status = nil} 251 254 assert_equal '=', @dv_quantified.magnitude_status 255 end 256 257 def test_dv_absolute_quantity 258 assert_equal 7, @dv_absolute_quantity.magnitude 259 assert @dv_absolute_quantity.accuracy_unknown? 260 assert_nothing_raised(Exception){@dv_absolute_quantity.accuracy = 0.5} 261 assert_equal 0.5, @dv_absolute_quantity.accuracy 262 assert !@dv_absolute_quantity.accuracy_unknown? 252 263 end 253 264
Note:
See TracChangeset
for help on using the changeset viewer.