Commit 7f902334b6c1064aba48bfbfeb83419854fbe09e

Authored by Carlos Morais + Eduardo Morais
Committed by Carlos Morais
1 parent a2ba74c1

[mezuro] Fix unit tests for updated entities

plugins/mezuro/lib/kalibro/client/module_result_client.rb
@@ -13,7 +13,7 @@ class Kalibro::Client::ModuleResultClient @@ -13,7 +13,7 @@ class Kalibro::Client::ModuleResultClient
13 def module_result(project_name, module_name, date) 13 def module_result(project_name, module_name, date)
14 hash = @port.request(:get_module_result, 14 hash = @port.request(:get_module_result,
15 {:project_name => project_name, :module_name => module_name, 15 {:project_name => project_name, :module_name => module_name,
16 - :date => Kalibro::Entitites::Entity.date_with_milliseconds(date)})[:module_result] 16 + :date => Kalibro::Entities::Entity.date_with_milliseconds(date)})[:module_result]
17 Kalibro::Entities::ModuleResult.from_hash(hash) 17 Kalibro::Entities::ModuleResult.from_hash(hash)
18 end 18 end
19 19
plugins/mezuro/lib/kalibro/entities/entity.rb
@@ -2,10 +2,14 @@ class Kalibro::Entities::Entity @@ -2,10 +2,14 @@ class Kalibro::Entities::Entity
2 2
3 def self.from_hash(hash) 3 def self.from_hash(hash)
4 entity = self.new 4 entity = self.new
5 - hash.each { |field, value| entity.set(field, value) if field.to_s[0] != '@'} 5 + hash.each { |field, value| entity.set(field, value) if is_valid?(field) }
6 entity 6 entity
7 end 7 end
8 8
  9 + def self.is_valid?(field)
  10 + field.to_s[0] != '@' and field != :attributes!
  11 + end
  12 +
9 def self.date_with_milliseconds(date) 13 def self.date_with_milliseconds(date)
10 milliseconds = "." + (date.sec_fraction * 60 * 60 * 24 * 1000).to_s 14 milliseconds = "." + (date.sec_fraction * 60 * 60 * 24 * 1000).to_s
11 date.to_s[0..18] + milliseconds + date.to_s[19..-1] 15 date.to_s[0..18] + milliseconds + date.to_s[19..-1]
@@ -60,7 +64,7 @@ class Kalibro::Entities::Entity @@ -60,7 +64,7 @@ class Kalibro::Entities::Entity
60 def convert_to_hash(value) 64 def convert_to_hash(value)
61 return value.collect { |element| convert_to_hash(element) } if value.is_a?(Array) 65 return value.collect { |element| convert_to_hash(element) } if value.is_a?(Array)
62 return value.to_hash if value.is_a?(Kalibro::Entities::Entity) 66 return value.to_hash if value.is_a?(Kalibro::Entities::Entity)
63 - return date_with_milliseconds(value) if value.is_a?(DateTime) 67 + return self.class.date_with_milliseconds(value) if value.is_a?(DateTime)
64 return 'INF' if value.is_a?(Float) and value.infinite? == 1 68 return 'INF' if value.is_a?(Float) and value.infinite? == 1
65 return '-INF' if value.is_a?(Float) and value.infinite? == -1 69 return '-INF' if value.is_a?(Float) and value.infinite? == -1
66 value 70 value
plugins/mezuro/lib/kalibro/entities/metric_result.rb
@@ -23,7 +23,8 @@ class Kalibro::Entities::MetricResult < Kalibro::Entities::Entity @@ -23,7 +23,8 @@ class Kalibro::Entities::MetricResult < Kalibro::Entities::Entity
23 end 23 end
24 24
25 def descendent_result=(value) 25 def descendent_result=(value)
26 - @descendent_result = value.collect {|element| element.to_f} 26 + array = value.kind_of?(Array) ? value : [value]
  27 + @descendent_result = array.collect {|element| element.to_f}
27 end 28 end
28 29
29 def descendent_results 30 def descendent_results
plugins/mezuro/lib/kalibro/entities/module_result.rb
@@ -6,6 +6,11 @@ class Kalibro::Entities::ModuleResult < Kalibro::Entities::Entity @@ -6,6 +6,11 @@ class Kalibro::Entities::ModuleResult < Kalibro::Entities::Entity
6 @module = to_entity(value, Kalibro::Entities::Module) 6 @module = to_entity(value, Kalibro::Entities::Module)
7 end 7 end
8 8
  9 + def date=(value)
  10 + @date = value
  11 + @date = DateTime.parse(value) if value.is_a?(String)
  12 + end
  13 +
9 def grade=(value) 14 def grade=(value)
10 @grade = value.to_f 15 @grade = value.to_f
11 end 16 end
plugins/mezuro/lib/kalibro/entities/project_result.rb
@@ -6,6 +6,11 @@ class Kalibro::Entities::ProjectResult < Kalibro::Entities::Entity @@ -6,6 +6,11 @@ class Kalibro::Entities::ProjectResult < Kalibro::Entities::Entity
6 @project = to_entity(value, Kalibro::Entities::Project) 6 @project = to_entity(value, Kalibro::Entities::Project)
7 end 7 end
8 8
  9 + def date=(value)
  10 + @date = value
  11 + @date = DateTime.parse(value) if value.is_a?(String)
  12 + end
  13 +
9 def load_time=(value) 14 def load_time=(value)
10 @load_time = value.to_i 15 @load_time = value.to_i
11 end 16 end
plugins/mezuro/test/fixtures/module_result_fixtures.rb
@@ -18,7 +18,7 @@ class ModuleResultFixtures @@ -18,7 +18,7 @@ class ModuleResultFixtures
18 18
19 def self.create_hash 19 def self.create_hash
20 {:module => ModuleFixtures.qt_calculator_hash, 20 {:module => ModuleFixtures.qt_calculator_hash,
21 - :date => DateTime.parse('Thu, 20 Oct 2011 18:26:43.151 +0000'), :grade => 10.0, :metric_result => [ 21 + :date => '2011-10-20T18:26:43.151+00:00', :grade => 10.0, :metric_result => [
22 MetricResultFixtures.amloc_result_hash, 22 MetricResultFixtures.amloc_result_hash,
23 MetricResultFixtures.sc_result_hash], 23 MetricResultFixtures.sc_result_hash],
24 :compound_metric_with_error => [CompoundMetricWithErrorFixtures.create_hash]} 24 :compound_metric_with_error => [CompoundMetricWithErrorFixtures.create_hash]}
plugins/mezuro/test/fixtures/project_result_fixtures.rb
@@ -15,7 +15,7 @@ class ProjectResultFixtures @@ -15,7 +15,7 @@ class ProjectResultFixtures
15 end 15 end
16 16
17 def self.qt_calculator_hash 17 def self.qt_calculator_hash
18 - {:project => ProjectFixtures.qt_calculator_hash, :date => ModuleResultFixtures.create.date, 18 + {:project => ProjectFixtures.qt_calculator_hash, :date => ModuleResultFixtures.create_hash[:date],
19 :load_time => 14878, :analysis_time => 1022, :source_tree => ModuleNodeFixtures.qt_calculator_tree_hash} 19 :load_time => 14878, :analysis_time => 1022, :source_tree => ModuleNodeFixtures.qt_calculator_tree_hash}
20 end 20 end
21 21
plugins/mezuro/test/fixtures/range_fixtures.rb
@@ -27,7 +27,7 @@ class RangeFixtures @@ -27,7 +27,7 @@ class RangeFixtures
27 end 27 end
28 28
29 def self.amloc_bad_hash 29 def self.amloc_bad_hash
30 - {:beginning => 19.5, :end => Infinity, :label => 'Bad',:grade => 0.0, :color => 'ffff0000'} 30 + {:beginning => 19.5, :end => "INF", :label => 'Bad',:grade => 0.0, :color => 'ffff0000'}
31 end 31 end
32 32
33 end 33 end
plugins/mezuro/test/functional/echo_port_test.rb
@@ -9,8 +9,7 @@ class EchoPortTest < ActiveSupport::TestCase @@ -9,8 +9,7 @@ class EchoPortTest < ActiveSupport::TestCase
9 9
10 def setup 10 def setup
11 @port = Kalibro::Client::Port.new('Echo') 11 @port = Kalibro::Client::Port.new('Echo')
12 -# @port.service_address=('http://valinhos.ime.usp.br:50688/KalibroFake/');  
13 - @port.service_address=('http://localhost:8080/KalibroFake/'); 12 + @port.service_address=('http://valinhos.ime.usp.br:50688/KalibroFake/');
14 end 13 end
15 14
16 should 'echo base tool' do 15 should 'echo base tool' do
plugins/mezuro/test/unit/kalibro/entities/project_result_test.rb
@@ -27,12 +27,12 @@ class ProjectResultTest < ActiveSupport::TestCase @@ -27,12 +27,12 @@ class ProjectResultTest < ActiveSupport::TestCase
27 27
28 should 'retrieve module node' do 28 should 'retrieve module node' do
29 node = @result.get_node("main") 29 node = @result.get_node("main")
30 - assert_equal @hash[:source_tree][:child][1], node.to_hash 30 + assert_equal @hash[:source_tree][:child][2], node.to_hash
31 end 31 end
32 32
33 should 'retrive complex module' do 33 should 'retrive complex module' do
34 node = @result.get_node("org.Window") 34 node = @result.get_node("org.Window")
35 - assert_equal @hash[:source_tree][:child][2][:child].first, node.to_hash 35 + assert_equal @hash[:source_tree][:child][0][:child].first, node.to_hash
36 end 36 end
37 37
38 should 'return source tree node when nil is given' do 38 should 'return source tree node when nil is given' do
@@ -44,6 +44,6 @@ class ProjectResultTest < ActiveSupport::TestCase @@ -44,6 +44,6 @@ class ProjectResultTest < ActiveSupport::TestCase
44 end 44 end
45 45
46 should 'return correct node when module name is given' do 46 should 'return correct node when module name is given' do
47 - assert_equal @hash[:source_tree][:child][1], @result.node_of("main").to_hash 47 + assert_equal @hash[:source_tree][:child][2], @result.node_of("main").to_hash
48 end 48 end
49 end 49 end
plugins/mezuro/views/content_viewer/_module_result.rhtml
@@ -19,7 +19,7 @@ @@ -19,7 +19,7 @@
19 <% range = metric_result.range %> 19 <% range = metric_result.range %>
20 <tr title="<%= range.nil? ? '' : range.comments %>"> 20 <tr title="<%= range.nil? ? '' : range.comments %>">
21 <td><%= metric_result.metric.name %></td> 21 <td><%= metric_result.metric.name %></td>
22 - <td><%= metric_result.value.slice(/[0-9]+\.[0-9]{1,2}/) %></td> <!--FIXME: Move to helper eventually--> 22 + <td><%= "%.02f" % metric_result.value %></td>
23 <td><%= metric_result.weight %></td> 23 <td><%= metric_result.weight %></td>
24 <% if range.nil? %> 24 <% if range.nil? %>
25 <td></td> 25 <td></td>
@@ -34,7 +34,7 @@ @@ -34,7 +34,7 @@
34 <td colspan = "4" align = "right"> 34 <td colspan = "4" align = "right">
35 <strong> 35 <strong>
36 <%= _('Grade:') %> 36 <%= _('Grade:') %>
37 - <%= module_result.grade.slice(/[0-9]+\.[0-9]{1,2}/) %> <!--FIXME: Move to helper eventually --> 37 + <%= "%.02f" % module_result.grade %>
38 </strong> 38 </strong>
39 </td> 39 </td>
40 </tr> 40 </tr>