Commit d773724af34fed7787fedd0c2f74f3906906abd5
Committed by
Paulo Meireles
1 parent
5e54605b
Exists in
staging
and in
42 other branches
[Mezuro] Refactored Range entity to Range Model.
Showing
6 changed files
with
47 additions
and
57 deletions
Show diff stats
plugins/mezuro/lib/kalibro/entities/range.rb
| @@ -1,19 +0,0 @@ | @@ -1,19 +0,0 @@ | ||
| 1 | -class Kalibro::Entities::Range < Kalibro::Entities::Entity | ||
| 2 | - | ||
| 3 | - attr_accessor :beginning, :end, :label, :grade, :color, :comments | ||
| 4 | - | ||
| 5 | - def beginning=(value) | ||
| 6 | - @beginning = value.to_f | ||
| 7 | - @beginning = -1.0/0.0 if value == "-INF" | ||
| 8 | - end | ||
| 9 | - | ||
| 10 | - def end=(value) | ||
| 11 | - @end = value.to_f | ||
| 12 | - @end = 1.0/0.0 if value == "INF" | ||
| 13 | - end | ||
| 14 | - | ||
| 15 | - def grade=(value) | ||
| 16 | - @grade = value.to_f | ||
| 17 | - end | ||
| 18 | - | ||
| 19 | -end | ||
| 20 | \ No newline at end of file | 0 | \ No newline at end of file |
plugins/mezuro/lib/kalibro/model.rb
| @@ -29,6 +29,8 @@ class Kalibro::Model | @@ -29,6 +29,8 @@ class Kalibro::Model | ||
| 29 | return value if value.nil? | 29 | return value if value.nil? |
| 30 | return value.collect { |element| convert_to_hash(element) } if value.is_a?(Array) | 30 | return value.collect { |element| convert_to_hash(element) } if value.is_a?(Array) |
| 31 | return value.to_hash if value.is_a?(Kalibro::Model) | 31 | return value.to_hash if value.is_a?(Kalibro::Model) |
| 32 | + return 'INF' if value.is_a?(Float) and value.infinite? == 1 | ||
| 33 | + return '-INF' if value.is_a?(Float) and value.infinite? == -1 | ||
| 32 | value | 34 | value |
| 33 | end | 35 | end |
| 34 | 36 |
| @@ -0,0 +1,19 @@ | @@ -0,0 +1,19 @@ | ||
| 1 | +class Kalibro::Range < Kalibro::Model | ||
| 2 | + | ||
| 3 | + attr_accessor :beginning, :end, :label, :grade, :color, :comments | ||
| 4 | + | ||
| 5 | + def beginning=(value) | ||
| 6 | + @beginning = value.to_f | ||
| 7 | + @beginning = -1.0/0.0 if value == "-INF" | ||
| 8 | + end | ||
| 9 | + | ||
| 10 | + def end=(value) | ||
| 11 | + @end = value.to_f | ||
| 12 | + @end = 1.0/0.0 if value == "INF" | ||
| 13 | + end | ||
| 14 | + | ||
| 15 | + def grade=(value) | ||
| 16 | + @grade = value.to_f | ||
| 17 | + end | ||
| 18 | + | ||
| 19 | +end |
plugins/mezuro/test/fixtures/range_fixtures.rb
| @@ -2,31 +2,19 @@ class RangeFixtures | @@ -2,31 +2,19 @@ class RangeFixtures | ||
| 2 | 2 | ||
| 3 | Infinity = 1.0/0.0 | 3 | Infinity = 1.0/0.0 |
| 4 | 4 | ||
| 5 | - def self.amloc_excellent | ||
| 6 | - range = Kalibro::Entities::Range.new | ||
| 7 | - range.beginning = 0.0 | ||
| 8 | - range.end = 7.0 | ||
| 9 | - range.label = 'Excellent' | ||
| 10 | - range.grade = 10.0 | ||
| 11 | - range.color = 'ff00ff00' | ||
| 12 | - range | 5 | + def self.range_excellent |
| 6 | + Kalibro::Range.new range_excellent_hash | ||
| 13 | end | 7 | end |
| 14 | 8 | ||
| 15 | - def self.amloc_bad | ||
| 16 | - range = Kalibro::Entities::Range.new | ||
| 17 | - range.beginning = 19.5 | ||
| 18 | - range.end = Infinity | ||
| 19 | - range.label = 'Bad' | ||
| 20 | - range.grade = 0.0 | ||
| 21 | - range.color = 'ffff0000' | ||
| 22 | - range | 9 | + def self.range_bad |
| 10 | + Kalibro::Range.new range_bad_hash | ||
| 23 | end | 11 | end |
| 24 | 12 | ||
| 25 | - def self.amloc_excellent_hash | 13 | + def self.range_excellent_hash |
| 26 | {:beginning => 0.0, :end => 7.0, :label => 'Excellent', :grade => 10.0, :color => 'ff00ff00'} | 14 | {:beginning => 0.0, :end => 7.0, :label => 'Excellent', :grade => 10.0, :color => 'ff00ff00'} |
| 27 | end | 15 | end |
| 28 | 16 | ||
| 29 | - def self.amloc_bad_hash | 17 | + def self.range_bad_hash |
| 30 | {:beginning => 19.5, :end => "INF", :label => 'Bad',:grade => 0.0, :color => 'ffff0000'} | 18 | {:beginning => 19.5, :end => "INF", :label => 'Bad',:grade => 0.0, :color => 'ffff0000'} |
| 31 | end | 19 | end |
| 32 | 20 |
plugins/mezuro/test/unit/kalibro/entities/range_test.rb
| @@ -1,20 +0,0 @@ | @@ -1,20 +0,0 @@ | ||
| 1 | -require "test_helper" | ||
| 2 | - | ||
| 3 | -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/range_fixtures" | ||
| 4 | - | ||
| 5 | -class RangeTest < ActiveSupport::TestCase | ||
| 6 | - | ||
| 7 | - def setup | ||
| 8 | - @hash = RangeFixtures.amloc_bad_hash | ||
| 9 | - @range = RangeFixtures.amloc_bad | ||
| 10 | - end | ||
| 11 | - | ||
| 12 | - should 'create range from hash' do | ||
| 13 | - assert_equal @range, Kalibro::Entities::Range.from_hash(@hash) | ||
| 14 | - end | ||
| 15 | - | ||
| 16 | - should 'convert range to hash' do | ||
| 17 | - assert_equal @hash, @range.to_hash | ||
| 18 | - end | ||
| 19 | - | ||
| 20 | -end |
| @@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
| 1 | +require "test_helper" | ||
| 2 | + | ||
| 3 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/range_fixtures" | ||
| 4 | + | ||
| 5 | +class RangeTest < ActiveSupport::TestCase | ||
| 6 | + | ||
| 7 | + def setup | ||
| 8 | + @hash = RangeFixtures.range_bad_hash | ||
| 9 | + @range = RangeFixtures.range_bad | ||
| 10 | + end | ||
| 11 | + | ||
| 12 | + should 'create range from hash' do | ||
| 13 | + assert_equal @hash[:label], Kalibro::Range.new(@hash).label | ||
| 14 | + end | ||
| 15 | + | ||
| 16 | + should 'convert range to hash' do | ||
| 17 | + assert_equal @hash, @range.to_hash | ||
| 18 | + end | ||
| 19 | + | ||
| 20 | +end |