Commit b389645bfff58e508ee2a50110ce7a464fc1a999
Committed by
Carlos Morais
Exists in
master
and in
22 other branches
Merge branch 'update-client' into merging_configuration
Conflicts: plugins/mezuro/views/content_viewer/_module_result.rhtml
Showing
21 changed files
with
159 additions
and
104 deletions
Show diff stats
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 => 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 | ||
| @@ -23,11 +23,4 @@ class Kalibro::Client::ModuleResultClient | @@ -23,11 +23,4 @@ class Kalibro::Client::ModuleResultClient | ||
| 23 | Kalibro::Entities::Entity.new.to_entity_array(value, Kalibro::Entities::ModuleResult) | 23 | Kalibro::Entities::Entity.new.to_entity_array(value, Kalibro::Entities::ModuleResult) |
| 24 | end | 24 | end |
| 25 | 25 | ||
| 26 | - private | ||
| 27 | - | ||
| 28 | - def date_with_milliseconds(date) | ||
| 29 | - milliseconds = "." + (date.sec_fraction * 60 * 60 * 24 * 1000).to_s | ||
| 30 | - date.to_s[0..18] + milliseconds + date.to_s[19..-1] | ||
| 31 | - end | ||
| 32 | - | ||
| 33 | end | 26 | end |
| 34 | \ No newline at end of file | 27 | \ No newline at end of file |
plugins/mezuro/lib/kalibro/entities/entity.rb
| @@ -2,10 +2,19 @@ class Kalibro::Entities::Entity | @@ -2,10 +2,19 @@ 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 != :attributes!} | 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 | + | ||
| 13 | + def self.date_with_milliseconds(date) | ||
| 14 | + milliseconds = "." + (date.sec_fraction * 60 * 60 * 24 * 1000).to_s | ||
| 15 | + date.to_s[0..18] + milliseconds + date.to_s[19..-1] | ||
| 16 | + end | ||
| 17 | + | ||
| 9 | def set(field, value) | 18 | def set(field, value) |
| 10 | send("#{field}=", value) if not field.to_s.start_with? '@' | 19 | send("#{field}=", value) if not field.to_s.start_with? '@' |
| 11 | end | 20 | end |
| @@ -55,6 +64,7 @@ class Kalibro::Entities::Entity | @@ -55,6 +64,7 @@ class Kalibro::Entities::Entity | ||
| 55 | def convert_to_hash(value) | 64 | def convert_to_hash(value) |
| 56 | 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) |
| 57 | return value.to_hash if value.is_a?(Kalibro::Entities::Entity) | 66 | return value.to_hash if value.is_a?(Kalibro::Entities::Entity) |
| 67 | + return self.class.date_with_milliseconds(value) if value.is_a?(DateTime) | ||
| 58 | return 'INF' if value.is_a?(Float) and value.infinite? == 1 | 68 | return 'INF' if value.is_a?(Float) and value.infinite? == 1 |
| 59 | return '-INF' if value.is_a?(Float) and value.infinite? == -1 | 69 | return '-INF' if value.is_a?(Float) and value.infinite? == -1 |
| 60 | value | 70 | value |
plugins/mezuro/lib/kalibro/entities/error.rb
| 1 | class Kalibro::Entities::Error < Kalibro::Entities::Entity | 1 | class Kalibro::Entities::Error < Kalibro::Entities::Entity |
| 2 | 2 | ||
| 3 | - attr_accessor :message, :stack_trace_element | 3 | + attr_accessor :error_class, :message, :stack_trace_element |
| 4 | 4 | ||
| 5 | def stack_trace_element=(value) | 5 | def stack_trace_element=(value) |
| 6 | @stack_trace_element = to_entity_array(value, Kalibro::Entities::StackTraceElement) | 6 | @stack_trace_element = to_entity_array(value, Kalibro::Entities::StackTraceElement) |
plugins/mezuro/lib/kalibro/entities/metric_result.rb
| @@ -14,12 +14,17 @@ class Kalibro::Entities::MetricResult < Kalibro::Entities::Entity | @@ -14,12 +14,17 @@ class Kalibro::Entities::MetricResult < Kalibro::Entities::Entity | ||
| 14 | end | 14 | end |
| 15 | end | 15 | end |
| 16 | 16 | ||
| 17 | + def value=(value) | ||
| 18 | + @value = value.to_f | ||
| 19 | + end | ||
| 20 | + | ||
| 17 | def range=(value) | 21 | def range=(value) |
| 18 | @range = to_entity(value, Kalibro::Entities::Range) | 22 | @range = to_entity(value, Kalibro::Entities::Range) |
| 19 | end | 23 | end |
| 20 | 24 | ||
| 21 | def descendent_result=(value) | 25 | def descendent_result=(value) |
| 22 | - @descendent_result = to_entity_array(value) | 26 | + array = value.kind_of?(Array) ? value : [value] |
| 27 | + @descendent_result = array.collect {|element| element.to_f} | ||
| 23 | end | 28 | end |
| 24 | 29 | ||
| 25 | def descendent_results | 30 | def descendent_results |
plugins/mezuro/lib/kalibro/entities/module_result.rb
| @@ -6,6 +6,15 @@ class Kalibro::Entities::ModuleResult < Kalibro::Entities::Entity | @@ -6,6 +6,15 @@ 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 | + | ||
| 14 | + def grade=(value) | ||
| 15 | + @grade = value.to_f | ||
| 16 | + end | ||
| 17 | + | ||
| 9 | def metric_result=(value) | 18 | def metric_result=(value) |
| 10 | @metric_result = to_entity_array(value, Kalibro::Entities::MetricResult) | 19 | @metric_result = to_entity_array(value, Kalibro::Entities::MetricResult) |
| 11 | end | 20 | end |
plugins/mezuro/lib/kalibro/entities/native_metric.rb
| @@ -10,4 +10,8 @@ class Kalibro::Entities::NativeMetric < Kalibro::Entities::Metric | @@ -10,4 +10,8 @@ class Kalibro::Entities::NativeMetric < Kalibro::Entities::Metric | ||
| 10 | @language = languages | 10 | @language = languages |
| 11 | end | 11 | end |
| 12 | 12 | ||
| 13 | + def language=(value) | ||
| 14 | + @language = to_entity_array(value) | ||
| 15 | + end | ||
| 16 | + | ||
| 13 | end | 17 | end |
plugins/mezuro/lib/kalibro/entities/project_result.rb
| @@ -6,6 +6,19 @@ class Kalibro::Entities::ProjectResult < Kalibro::Entities::Entity | @@ -6,6 +6,19 @@ 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 | + | ||
| 14 | + def load_time=(value) | ||
| 15 | + @load_time = value.to_i | ||
| 16 | + end | ||
| 17 | + | ||
| 18 | + def analysis_time=(value) | ||
| 19 | + @analysis_time = value.to_i | ||
| 20 | + end | ||
| 21 | + | ||
| 9 | def source_tree=(value) | 22 | def source_tree=(value) |
| 10 | @source_tree = to_entity(value, Kalibro::Entities::ModuleNode) | 23 | @source_tree = to_entity(value, Kalibro::Entities::ModuleNode) |
| 11 | end | 24 | end |
plugins/mezuro/lib/kalibro/entities/range.rb
| @@ -12,4 +12,8 @@ class Kalibro::Entities::Range < Kalibro::Entities::Entity | @@ -12,4 +12,8 @@ class Kalibro::Entities::Range < Kalibro::Entities::Entity | ||
| 12 | @end = 1.0/0.0 if value == "INF" | 12 | @end = 1.0/0.0 if value == "INF" |
| 13 | end | 13 | end |
| 14 | 14 | ||
| 15 | + def grade=(value) | ||
| 16 | + @grade = value.to_f | ||
| 17 | + end | ||
| 18 | + | ||
| 15 | end | 19 | end |
| 16 | \ No newline at end of file | 20 | \ No newline at end of file |
plugins/mezuro/lib/kalibro/entities/stack_trace_element.rb
| @@ -2,4 +2,8 @@ class Kalibro::Entities::StackTraceElement < Kalibro::Entities::Entity | @@ -2,4 +2,8 @@ class Kalibro::Entities::StackTraceElement < Kalibro::Entities::Entity | ||
| 2 | 2 | ||
| 3 | attr_accessor :declaring_class, :method_name, :file_name, :line_number | 3 | attr_accessor :declaring_class, :method_name, :file_name, :line_number |
| 4 | 4 | ||
| 5 | + def line_number=(value) | ||
| 6 | + @line_number = value.to_i | ||
| 7 | + end | ||
| 8 | + | ||
| 5 | end | 9 | end |
| 6 | \ No newline at end of file | 10 | \ No newline at end of file |
plugins/mezuro/test/fixtures/base_tool_fixtures.rb
plugins/mezuro/test/fixtures/compound_metric_fixtures.rb
| @@ -4,12 +4,12 @@ class CompoundMetricFixtures | @@ -4,12 +4,12 @@ class CompoundMetricFixtures | ||
| 4 | sc = Kalibro::Entities::CompoundMetric.new | 4 | sc = Kalibro::Entities::CompoundMetric.new |
| 5 | sc.name = 'Structural Complexity' | 5 | sc.name = 'Structural Complexity' |
| 6 | sc.scope = 'CLASS' | 6 | sc.scope = 'CLASS' |
| 7 | - sc.script = 'return cbo * lcom4;' | 7 | + sc.script = 'return 42;' |
| 8 | sc | 8 | sc |
| 9 | end | 9 | end |
| 10 | 10 | ||
| 11 | def self.sc_hash | 11 | def self.sc_hash |
| 12 | - {:name => 'Structural Complexity', :scope => 'CLASS', :script => 'return cbo * lcom4;'} | 12 | + {:name => 'Structural Complexity', :scope => 'CLASS', :script => 'return 42;'} |
| 13 | end | 13 | end |
| 14 | 14 | ||
| 15 | end | 15 | end |
plugins/mezuro/test/fixtures/error_fixtures.rb
| @@ -4,6 +4,7 @@ class ErrorFixtures | @@ -4,6 +4,7 @@ class ErrorFixtures | ||
| 4 | 4 | ||
| 5 | def self.create | 5 | def self.create |
| 6 | error = Kalibro::Entities::Error.new | 6 | error = Kalibro::Entities::Error.new |
| 7 | + error.error_class = 'java.lang.Exception' | ||
| 7 | error.message = 'Error message from ErrorTest' | 8 | error.message = 'Error message from ErrorTest' |
| 8 | error.stack_trace = [ | 9 | error.stack_trace = [ |
| 9 | StackTraceElementFixtures.create('my method 1', 42), | 10 | StackTraceElementFixtures.create('my method 1', 42), |
| @@ -12,7 +13,8 @@ class ErrorFixtures | @@ -12,7 +13,8 @@ class ErrorFixtures | ||
| 12 | end | 13 | end |
| 13 | 14 | ||
| 14 | def self.create_hash | 15 | def self.create_hash |
| 15 | - {:message => 'Error message from ErrorTest', :stack_trace_element => [ | 16 | + {:error_class => 'java.lang.Exception', :message => 'Error message from ErrorTest', |
| 17 | + :stack_trace_element => [ | ||
| 16 | StackTraceElementFixtures.create_hash('my method 1', 42), | 18 | StackTraceElementFixtures.create_hash('my method 1', 42), |
| 17 | StackTraceElementFixtures.create_hash('my method 2', 84)]} | 19 | StackTraceElementFixtures.create_hash('my method 2', 84)]} |
| 18 | end | 20 | end |
plugins/mezuro/test/fixtures/module_node_fixtures.rb
| @@ -5,17 +5,17 @@ class ModuleNodeFixtures | @@ -5,17 +5,17 @@ class ModuleNodeFixtures | ||
| 5 | node.module = ModuleFixtures.qt_calculator | 5 | node.module = ModuleFixtures.qt_calculator |
| 6 | org_node = new_node('org', 'PACKAGE') | 6 | org_node = new_node('org', 'PACKAGE') |
| 7 | org_node.children = [new_node('org.Window', 'CLASS')] | 7 | org_node.children = [new_node('org.Window', 'CLASS')] |
| 8 | - node.children = [new_node('Dialog', 'CLASS'), new_node('main', 'CLASS'), org_node] | 8 | + node.children = [org_node, new_node('Dialog', 'CLASS'), new_node('main', 'CLASS')] |
| 9 | node | 9 | node |
| 10 | end | 10 | end |
| 11 | 11 | ||
| 12 | def self.qt_calculator_tree_hash | 12 | def self.qt_calculator_tree_hash |
| 13 | {:module => ModuleFixtures.qt_calculator_hash, | 13 | {:module => ModuleFixtures.qt_calculator_hash, |
| 14 | :child => [ | 14 | :child => [ |
| 15 | - {:module => {:name => 'Dialog', :granularity => 'CLASS'}}, | ||
| 16 | - {:module => {:name => 'main', :granularity => 'CLASS'}}, | ||
| 17 | {:module => {:name => 'org', :granularity => 'PACKAGE'}, | 15 | {:module => {:name => 'org', :granularity => 'PACKAGE'}, |
| 18 | - :child => [{:module => {:name => 'org.Window', :granularity => 'CLASS'}}]} | 16 | + :child => [{:module => {:name => 'org.Window', :granularity => 'CLASS'}}]}, |
| 17 | + {:module => {:name => 'Dialog', :granularity => 'CLASS'}}, | ||
| 18 | + {:module => {:name => 'main', :granularity => 'CLASS'}} | ||
| 19 | ] | 19 | ] |
| 20 | } | 20 | } |
| 21 | end | 21 | 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/functional/base_tool_client_test.rb
| @@ -1,29 +0,0 @@ | @@ -1,29 +0,0 @@ | ||
| 1 | -require "test_helper" | ||
| 2 | -require File.dirname(__FILE__) + '/fake_port' | ||
| 3 | - | ||
| 4 | -class BaseToolClientTest < ActiveSupport::TestCase | ||
| 5 | - | ||
| 6 | - def setup | ||
| 7 | - fake_port = FakePort.new('BaseTool') | ||
| 8 | - Kalibro::Client::Port.expects(:new).with('BaseTool').returns(fake_port) | ||
| 9 | - @client = Kalibro::Client::BaseToolClient.new | ||
| 10 | - end | ||
| 11 | - | ||
| 12 | - should 'get base tool names' do | ||
| 13 | - assert_equal ['Analizo', 'Checkstyle'], @client.base_tool_names | ||
| 14 | - end | ||
| 15 | - | ||
| 16 | - should 'get base tool by name' do | ||
| 17 | - analizo = @client.base_tool('Analizo') | ||
| 18 | - assert_equal 'Analizo', analizo.name | ||
| 19 | - assert_equal 'Analizo description', analizo.description | ||
| 20 | - assert_equal 1, analizo.supported_metrics.size | ||
| 21 | - metric = analizo.supported_metrics[0] | ||
| 22 | - assert_equal 'Analizo', metric.origin | ||
| 23 | - assert_equal 'Analizo metric', metric.name | ||
| 24 | - assert_equal 'Analizo metric description', metric.description | ||
| 25 | - assert_equal 'METHOD', metric.scope | ||
| 26 | - assert_equal ['CPP', 'JAVA'], metric.languages | ||
| 27 | - end | ||
| 28 | - | ||
| 29 | -end | ||
| 30 | \ No newline at end of file | 0 | \ No newline at end of file |
| @@ -0,0 +1,88 @@ | @@ -0,0 +1,88 @@ | ||
| 1 | +require "test_helper" | ||
| 2 | + | ||
| 3 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/base_tool_fixtures" | ||
| 4 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" | ||
| 5 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_result_fixtures" | ||
| 6 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/project_result_fixtures" | ||
| 7 | + | ||
| 8 | +class EchoPortTest < ActiveSupport::TestCase | ||
| 9 | + | ||
| 10 | + def setup | ||
| 11 | + @port = Kalibro::Client::Port.new('Echo') | ||
| 12 | + @port.service_address=('http://valinhos.ime.usp.br:50688/KalibroFake/'); | ||
| 13 | + end | ||
| 14 | + | ||
| 15 | + should 'echo base tool' do | ||
| 16 | + test BaseToolFixtures.analizo, 'BaseTool' do |base_tool| | ||
| 17 | + base_tool.name = "echo " + base_tool.name | ||
| 18 | + end | ||
| 19 | + end | ||
| 20 | + | ||
| 21 | + should 'echo configuration' do | ||
| 22 | + test ConfigurationFixtures.kalibro_configuration, 'Configuration' do |configuration| | ||
| 23 | + configuration.name = "echo " + configuration.name | ||
| 24 | + end | ||
| 25 | + end | ||
| 26 | + | ||
| 27 | + should 'echo metric configuration' do | ||
| 28 | + test_metric_configuration(MetricConfigurationFixtures.amloc_configuration) | ||
| 29 | + test_metric_configuration(MetricConfigurationFixtures.sc_configuration) | ||
| 30 | + end | ||
| 31 | + | ||
| 32 | + should 'echo module result' do | ||
| 33 | + test ModuleResultFixtures.create, 'ModuleResult' do |module_result| | ||
| 34 | + module_result.module.name = "echo." + module_result.module.name | ||
| 35 | + end | ||
| 36 | + end | ||
| 37 | + | ||
| 38 | + should 'echo project' do | ||
| 39 | + test(ProjectFixtures.qt_calculator, 'Project') do |project| | ||
| 40 | + project.name = "echo " + project.name | ||
| 41 | + end | ||
| 42 | + end | ||
| 43 | + | ||
| 44 | + should 'echo project result' do | ||
| 45 | + test(ProjectResultFixtures.qt_calculator, 'ProjectResult') do |project_result| | ||
| 46 | + project_result.project.name = "echo " + project_result.project.name | ||
| 47 | + end | ||
| 48 | + end | ||
| 49 | + | ||
| 50 | + should 'echo raw project' do | ||
| 51 | + project = ProjectFixtures.qt_calculator | ||
| 52 | + echoed = @port.request(:echo_raw_project, {:project => project.to_hash})[:project] | ||
| 53 | + project.name = "echo " + project.name | ||
| 54 | + project.state = nil | ||
| 55 | + project.error = nil | ||
| 56 | + assert_equal project, Kalibro::Entities::Project.from_hash(echoed) | ||
| 57 | + end | ||
| 58 | + | ||
| 59 | + should 'work with enums' do | ||
| 60 | + test_granularity("METHOD", "CLASS") | ||
| 61 | + test_granularity("CLASS", "PACKAGE") | ||
| 62 | + test_granularity("PACKAGE", "PACKAGE") | ||
| 63 | + test_granularity("APPLICATION", "APPLICATION") | ||
| 64 | + end | ||
| 65 | + | ||
| 66 | + private | ||
| 67 | + | ||
| 68 | + def test_metric_configuration(fixture) | ||
| 69 | + test fixture, 'MetricConfiguration' do |metric_configuration| | ||
| 70 | + metric_configuration.code = "echo_" + metric_configuration.code | ||
| 71 | + end | ||
| 72 | + end | ||
| 73 | + | ||
| 74 | + def test(fixture, entity_name) | ||
| 75 | + entity_symbol = entity_name.underscore.to_sym | ||
| 76 | + request_body = {entity_symbol => fixture.to_hash} | ||
| 77 | + echoed = @port.request("echo_#{entity_symbol}".to_sym, request_body)[entity_symbol] | ||
| 78 | + yield fixture | ||
| 79 | + entity_class = "Kalibro::Entities::#{entity_name}".constantize | ||
| 80 | + assert_equal fixture, entity_class.from_hash(echoed) | ||
| 81 | + end | ||
| 82 | + | ||
| 83 | + def test_granularity(granularity, parent) | ||
| 84 | + body = {:granularity => granularity} | ||
| 85 | + assert_equal parent, @port.request(:infer_parent_granularity, body)[:parent_granularity] | ||
| 86 | + end | ||
| 87 | + | ||
| 88 | +end | ||
| 0 | \ No newline at end of file | 89 | \ No newline at end of file |
plugins/mezuro/test/functional/fake_port.rb
plugins/mezuro/test/functional/metric_configuration_client_test.rb
| @@ -1,43 +0,0 @@ | @@ -1,43 +0,0 @@ | ||
| 1 | -require "test_helper" | ||
| 2 | -require File.dirname(__FILE__) + '/fake_port' | ||
| 3 | - | ||
| 4 | -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_configuration_fixtures" | ||
| 5 | - | ||
| 6 | -class MetricConfigurationClientTest < ActiveSupport::TestCase | ||
| 7 | - | ||
| 8 | - def setup | ||
| 9 | - fake_port = FakePort.new('MetricConfiguration') | ||
| 10 | - Kalibro::Client::Port.expects(:new).with('MetricConfiguration').returns(fake_port) | ||
| 11 | - @client = Kalibro::Client::MetricConfigurationClient.new | ||
| 12 | - end | ||
| 13 | - | ||
| 14 | - should 'save metric configuration' do | ||
| 15 | - configuration = MetricConfigurationFixtures.amloc_configuration | ||
| 16 | - @client.save(configuration, 'Configuration X') | ||
| 17 | - end | ||
| 18 | - | ||
| 19 | - should 'get metric configuration by name' do | ||
| 20 | - configuration = @client.metric_configuration('C', 'native') | ||
| 21 | - assert_equal 'metricOfC', configuration.code | ||
| 22 | - assert_equal 1.0, configuration.weight | ||
| 23 | - assert_equal 'AVERAGE', configuration.aggregation_form | ||
| 24 | - assert_equal 1, configuration.ranges.size | ||
| 25 | - | ||
| 26 | - range = configuration.ranges[0] | ||
| 27 | - assert_equal -1.0/0.0, range.beginning | ||
| 28 | - assert_equal 1.0/0.0, range.end | ||
| 29 | - | ||
| 30 | - metric = configuration.metric | ||
| 31 | - puts metric | ||
| 32 | - assert metric.is_a?(Kalibro::Entities::NativeMetric) | ||
| 33 | - assert_equal 'Metric of C', metric.name | ||
| 34 | - assert_equal 'METHOD', metric.scope | ||
| 35 | - assert_equal ['JAVA'], metric.languages | ||
| 36 | - assert_equal 'Metric of C description', metric.description | ||
| 37 | - end | ||
| 38 | - | ||
| 39 | - should 'remove metric configuration by name' do | ||
| 40 | - @client.remove('Configuration X', 'Metric X') | ||
| 41 | - end | ||
| 42 | - | ||
| 43 | -end | ||
| 44 | \ No newline at end of file | 0 | \ No newline at end of file |
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> | 20 | <tr> |
| 21 | <td><a href="#" data-show=".<%= metric_result.metric.name.delete("() ")%>"><%= metric_result.metric.name %></a></td> | 21 | <td><a href="#" data-show=".<%= metric_result.metric.name.delete("() ")%>"><%= metric_result.metric.name %></a></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> |
| @@ -39,7 +39,7 @@ | @@ -39,7 +39,7 @@ | ||
| 39 | <td colspan = "4" align = "right"> | 39 | <td colspan = "4" align = "right"> |
| 40 | <strong> | 40 | <strong> |
| 41 | <%= _('Grade:') %> | 41 | <%= _('Grade:') %> |
| 42 | - <%= module_result.grade.slice(/[0-9]+\.[0-9]{1,2}/) %> <!--FIXME: Move to helper eventually --> | 42 | + <%= "%.02f" % module_result.grade %> |
| 43 | </strong> | 43 | </strong> |
| 44 | </td> | 44 | </td> |
| 45 | </tr> | 45 | </tr> |