From 71dc709e95a9e9f283ee641aab3d42848920b97a Mon Sep 17 00:00:00 2001 From: João M. M. da Silva + Diego Araújo Date: Tue, 6 Nov 2012 18:26:44 -0200 Subject: [PATCH] [Mezuro] Completed metric configuration snapshot model and tests creation. --- plugins/mezuro/lib/kalibro/metric_configuration_snapshot.rb | 17 +++++++++++++++++ plugins/mezuro/test/fixtures/metric_configuration_snapshot_fixtures.rb | 26 ++++++++++++++++++++++++++ plugins/mezuro/test/unit/kalibro/metric_configuration_snapshot_test.rb | 20 ++++++++++++++++++++ 3 files changed, 63 insertions(+), 0 deletions(-) create mode 100644 plugins/mezuro/lib/kalibro/metric_configuration_snapshot.rb create mode 100644 plugins/mezuro/test/fixtures/metric_configuration_snapshot_fixtures.rb create mode 100644 plugins/mezuro/test/unit/kalibro/metric_configuration_snapshot_test.rb diff --git a/plugins/mezuro/lib/kalibro/metric_configuration_snapshot.rb b/plugins/mezuro/lib/kalibro/metric_configuration_snapshot.rb new file mode 100644 index 0000000..c7aa7dc --- /dev/null +++ b/plugins/mezuro/lib/kalibro/metric_configuration_snapshot.rb @@ -0,0 +1,17 @@ +class Kalibro::MetricConfigurationSnapshot < Kalibro::Model + + attr_accessor :code, :weight, :aggregation_form, :metric, :base_tool_name, :range + + def metric=(value) + if value.kind_of?(Hash) + @metric = Kalibro::Metric.to_object(value) + else + @metric = value + end + end + + def range=(value) + @range = Kalibro::Range.to_object value + end + +end diff --git a/plugins/mezuro/test/fixtures/metric_configuration_snapshot_fixtures.rb b/plugins/mezuro/test/fixtures/metric_configuration_snapshot_fixtures.rb new file mode 100644 index 0000000..541b4f2 --- /dev/null +++ b/plugins/mezuro/test/fixtures/metric_configuration_snapshot_fixtures.rb @@ -0,0 +1,26 @@ +require File.dirname(__FILE__) + '/metric_fixtures' +require File.dirname(__FILE__) + '/range_snapshot_fixtures' + +class MetricConfigurationSnapshotFixtures + + def self.metric_configuration_snapshot + Kalibro::MetricConfigurationSnapshot.new metric_configuration_snapshot_hash + end + + def self.metric_configuration_snapshot_hash + { + :code => "code", + :weight => 1, + :aggregation_form => 'AVERAGE', + :metric => MetricFixtures.amloc_hash, + :base_tool_name => "Analizo", + :range => [RangeSnapshotFixtures.range_snapshot_hash], + :attributes! => { + :metric => { + 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', + 'xsi:type' => 'kalibro:metricXml' } + } + } + end + +end diff --git a/plugins/mezuro/test/unit/kalibro/metric_configuration_snapshot_test.rb b/plugins/mezuro/test/unit/kalibro/metric_configuration_snapshot_test.rb new file mode 100644 index 0000000..18b42cb --- /dev/null +++ b/plugins/mezuro/test/unit/kalibro/metric_configuration_snapshot_test.rb @@ -0,0 +1,20 @@ +require "test_helper" + +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_configuration_snapshot_fixtures" + +class MetricConfigurationSnapshotTest < ActiveSupport::TestCase + + def setup + @hash = MetricConfigurationSnapshotFixtures.metric_configuration_snapshot_hash + @metric_configuration_snapshot = MetricConfigurationSnapshotFixtures.metric_configuration_snapshot + end + + should 'create metric configuration snapshot from hash' do + assert_equal @hash[:code], Kalibro::MetricConfigurationSnapshot.new(@hash).code + end + + should 'convert metric configuration snapshot to hash' do + assert_equal @hash, @metric_configuration_snapshot.to_hash + end + +end -- libgit2 0.21.2