metric_fu 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/HISTORY +13 -5
- data/README +2 -2
- data/Rakefile +1 -1
- data/TODO +3 -1
- data/lib/base/base_template.rb +16 -16
- data/lib/base/churn_analyzer.rb +3 -3
- data/lib/base/code_issue.rb +8 -8
- data/lib/base/configuration.rb +24 -22
- data/lib/base/flay_analyzer.rb +2 -2
- data/lib/base/flog_analyzer.rb +4 -4
- data/lib/base/generator.rb +21 -21
- data/lib/base/graph.rb +15 -10
- data/lib/base/line_numbers.rb +56 -55
- data/lib/base/location.rb +68 -66
- data/lib/base/metric_analyzer.rb +21 -21
- data/lib/base/ranking.rb +23 -22
- data/lib/base/rcov_analyzer.rb +3 -3
- data/lib/base/reek_analyzer.rb +12 -10
- data/lib/base/report.rb +9 -9
- data/lib/base/roodi_analyzer.rb +2 -2
- data/lib/base/saikuro_analyzer.rb +4 -4
- data/lib/base/scoring_strategies.rb +5 -5
- data/lib/base/stats_analyzer.rb +2 -2
- data/lib/base/table.rb +4 -4
- data/lib/generators/churn.rb +1 -1
- data/lib/generators/flay.rb +1 -1
- data/lib/generators/hotspots.rb +4 -4
- data/lib/generators/rails_best_practices.rb +1 -1
- data/lib/generators/rcov.rb +17 -17
- data/lib/generators/reek.rb +2 -2
- data/lib/generators/saikuro.rb +42 -42
- data/lib/generators/stats.rb +6 -6
- data/lib/graphs/engines/bluff.rb +1 -1
- data/lib/graphs/engines/gchart.rb +7 -7
- data/lib/graphs/flog_grapher.rb +3 -3
- data/lib/graphs/grapher.rb +1 -1
- data/lib/metric_fu.rb +2 -2
- data/lib/templates/awesome/churn.html.erb +1 -1
- data/lib/templates/awesome/css/integrity.css +0 -1
- data/lib/templates/awesome/flay.html.erb +2 -2
- data/lib/templates/awesome/flog.html.erb +2 -2
- data/lib/templates/awesome/hotspots.html.erb +4 -4
- data/lib/templates/awesome/index.html.erb +2 -2
- data/lib/templates/awesome/rails_best_practices.html.erb +1 -1
- data/lib/templates/awesome/rcov.html.erb +1 -1
- data/lib/templates/awesome/roodi.html.erb +1 -1
- data/lib/templates/awesome/saikuro.html.erb +3 -3
- data/lib/templates/awesome/stats.html.erb +1 -1
- data/lib/templates/standard/churn.html.erb +2 -2
- data/lib/templates/standard/default.css +4 -4
- data/lib/templates/standard/flay.html.erb +4 -4
- data/lib/templates/standard/flog.html.erb +1 -1
- data/lib/templates/standard/hotspots.html.erb +4 -4
- data/lib/templates/standard/index.html.erb +2 -2
- data/lib/templates/standard/rails_best_practices.html.erb +2 -2
- data/lib/templates/standard/rcov.html.erb +2 -2
- data/lib/templates/standard/reek.html.erb +1 -1
- data/lib/templates/standard/roodi.html.erb +2 -2
- data/lib/templates/standard/saikuro.html.erb +4 -4
- data/lib/templates/standard/stats.html.erb +2 -2
- data/spec/base/base_template_spec.rb +1 -1
- data/spec/base/configuration_spec.rb +36 -36
- data/spec/base/generator_spec.rb +10 -10
- data/spec/base/graph_spec.rb +41 -4
- data/spec/base/line_numbers_spec.rb +22 -22
- data/spec/base/report_spec.rb +9 -9
- data/spec/generators/churn_spec.rb +4 -4
- data/spec/generators/flay_spec.rb +31 -31
- data/spec/generators/flog_spec.rb +18 -18
- data/spec/generators/rails_best_practices_spec.rb +6 -6
- data/spec/generators/rcov_spec.rb +18 -18
- data/spec/generators/reek_spec.rb +10 -10
- data/spec/generators/roodi_spec.rb +2 -2
- data/spec/generators/saikuro_spec.rb +7 -7
- data/spec/generators/stats_spec.rb +6 -6
- data/spec/graphs/engines/gchart_spec.rb +8 -8
- data/spec/graphs/flog_grapher_spec.rb +8 -8
- data/spec/resources/line_numbers/foo.rb +7 -7
- data/spec/resources/line_numbers/module.rb +2 -2
- data/spec/resources/line_numbers/module_surrounds_class.rb +6 -6
- data/spec/resources/saikuro/index_cyclo.html +2 -2
- data/spec/resources/yml/20090630.yml +349 -349
- data/spec/resources/yml/metric_missing.yml +1 -1
- data/tasks/metric_fu.rake +4 -4
- metadata +4 -4
@@ -9,15 +9,15 @@ describe RailsBestPractices do
|
|
9
9
|
practices.emit
|
10
10
|
end
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
describe "analyze method" do
|
14
14
|
before :each do
|
15
15
|
output = <<-HERE.gsub(/^[^\S\n]*/, "")
|
16
16
|
./app/views/admin/testimonials/_form.html.erb:17 - replace instance variable with local variable
|
17
17
|
./app/controllers/admin/campaigns_controller.rb:24,45,68,85 - use before_filter for show,edit,update,destroy
|
18
|
-
|
18
|
+
|
19
19
|
go to http://wiki.github.com/flyerhzm/rails_best_practices to see how to solve these errors.
|
20
|
-
|
20
|
+
|
21
21
|
Found 2 errors.
|
22
22
|
HERE
|
23
23
|
MetricFu::Configuration.run {}
|
@@ -25,11 +25,11 @@ describe RailsBestPractices do
|
|
25
25
|
practices.instance_variable_set(:@output, output)
|
26
26
|
@results = practices.analyze
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
it "should get the total" do
|
30
30
|
@results[:total].should == ["Found 2 errors."]
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
33
|
it "should get the problems" do
|
34
34
|
@results[:problems].size.should == 2
|
35
35
|
@results[:problems].first.should == { :line => "17",
|
@@ -40,7 +40,7 @@ describe RailsBestPractices do
|
|
40
40
|
:file => "./app/controllers/admin/campaigns_controller.rb" }
|
41
41
|
end
|
42
42
|
end
|
43
|
-
|
43
|
+
|
44
44
|
describe "to_h method" do
|
45
45
|
it "should put things into a hash" do
|
46
46
|
MetricFu::Configuration.run {}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
2
|
|
3
3
|
describe MetricFu::Rcov do
|
4
|
-
|
4
|
+
|
5
5
|
before :each do
|
6
6
|
MetricFu::Configuration.run {}
|
7
7
|
File.stub!(:directory?).and_return(true)
|
8
8
|
@rcov = MetricFu::Rcov.new('base_dir')
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
describe "emit" do
|
12
12
|
before :each do
|
13
13
|
@rcov.stub!(:puts)
|
@@ -20,7 +20,7 @@ describe MetricFu::Rcov do
|
|
20
20
|
Dir.should_receive(:mkdir).with(MetricFu::Rcov.metric_directory)
|
21
21
|
@rcov.emit
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
it "should set the RAILS_ENV" do
|
25
25
|
FileUtils.stub!(:rm_rf)
|
26
26
|
Dir.stub!(:mkdir)
|
@@ -29,7 +29,7 @@ describe MetricFu::Rcov do
|
|
29
29
|
@rcov.emit
|
30
30
|
end
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
33
|
describe "with RCOV_OUTPUT fed into" do
|
34
34
|
before :each do
|
35
35
|
MetricFu.rcov[:external] = nil
|
@@ -38,7 +38,7 @@ describe MetricFu::Rcov do
|
|
38
38
|
and_return(mock("io", :read => RCOV_OUTPUT))
|
39
39
|
@files = @rcov.analyze
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
describe "analyze" do
|
43
43
|
it "should compute percent of lines run" do
|
44
44
|
@files["lib/templates/awesome/awesome_template.rb"][:percent_run].should == 13
|
@@ -72,14 +72,14 @@ describe MetricFu::Rcov do
|
|
72
72
|
FileUtils.should_not_receive(:rm_rf)
|
73
73
|
@rcov.emit
|
74
74
|
end
|
75
|
-
|
75
|
+
|
76
76
|
it "should open the external rcov analysis file" do
|
77
77
|
File.should_receive(:open).
|
78
78
|
with(MetricFu.rcov[:external]).
|
79
79
|
and_return(mock("io", :read => RCOV_OUTPUT))
|
80
80
|
@files = @rcov.analyze
|
81
81
|
end
|
82
|
-
|
82
|
+
|
83
83
|
end
|
84
84
|
|
85
85
|
|
@@ -107,18 +107,18 @@ Finished in 2.517686 seconds
|
|
107
107
|
lib/templates/awesome/awesome_template.rb
|
108
108
|
================================================================================
|
109
109
|
require 'fileutils'
|
110
|
-
|
110
|
+
|
111
111
|
class AwesomeTemplate < MetricFu::Template
|
112
|
-
|
112
|
+
|
113
113
|
def write
|
114
114
|
!! # Getting rid of the crap before and after the project name from integrity
|
115
115
|
!! @name = File.basename(Dir.pwd).gsub(/^\w+-|-\w+$/, "")
|
116
|
-
!!
|
116
|
+
!!
|
117
117
|
!! # Copy Bluff javascripts to output directory
|
118
118
|
!! Dir[File.join(this_directory, '..', 'javascripts', '*')].each do |f|
|
119
119
|
!! FileUtils.copy(f, File.join(MetricFu.output_directory, File.basename(f)))
|
120
120
|
!! end
|
121
|
-
!!
|
121
|
+
!!
|
122
122
|
!! report.each_pair do |section, contents|
|
123
123
|
!! if template_exists?(section)
|
124
124
|
!! create_instance_var(section, contents)
|
@@ -128,7 +128,7 @@ lib/templates/awesome/awesome_template.rb
|
|
128
128
|
!! MetricFu.report.save_output(html, MetricFu.output_directory, fn)
|
129
129
|
!! end
|
130
130
|
!! end
|
131
|
-
!!
|
131
|
+
!!
|
132
132
|
!! # Instance variables we need should already be created from above
|
133
133
|
!! if template_exists?('index')
|
134
134
|
!! @html = erbify('index')
|
@@ -137,18 +137,18 @@ lib/templates/awesome/awesome_template.rb
|
|
137
137
|
!! MetricFu.report.save_output(html, MetricFu.output_directory, fn)
|
138
138
|
!! end
|
139
139
|
!! end
|
140
|
-
|
140
|
+
|
141
141
|
def this_directory
|
142
142
|
!! File.dirname(__FILE__)
|
143
143
|
!! end
|
144
144
|
!! end
|
145
|
-
|
145
|
+
|
146
146
|
================================================================================
|
147
147
|
lib/templates/standard/standard_template.rb
|
148
148
|
================================================================================
|
149
149
|
class StandardTemplate < MetricFu::Template
|
150
|
-
|
151
|
-
|
150
|
+
|
151
|
+
|
152
152
|
def write
|
153
153
|
!! report.each_pair do |section, contents|
|
154
154
|
!! if template_exists?(section)
|
@@ -158,7 +158,7 @@ lib/templates/standard/standard_template.rb
|
|
158
158
|
!! MetricFu.report.save_output(html, MetricFu.output_directory, fn)
|
159
159
|
!! end
|
160
160
|
!! end
|
161
|
-
!!
|
161
|
+
!!
|
162
162
|
!! # Instance variables we need should already be created from above
|
163
163
|
!! if template_exists?('index')
|
164
164
|
!! html = erbify('index')
|
@@ -166,7 +166,7 @@ lib/templates/standard/standard_template.rb
|
|
166
166
|
!! MetricFu.report.save_output(html, MetricFu.output_directory, fn)
|
167
167
|
!! end
|
168
168
|
!! end
|
169
|
-
|
169
|
+
|
170
170
|
def this_directory
|
171
171
|
!! File.dirname(__FILE__)
|
172
172
|
!! end
|
@@ -11,7 +11,7 @@ describe Reek do
|
|
11
11
|
reek.emit
|
12
12
|
end
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
describe "analyze method" do
|
16
16
|
before :each do
|
17
17
|
@lines = <<-HERE
|
@@ -36,37 +36,37 @@ NewlineController#some_method calls current_user.<< "new line\n" multiple times
|
|
36
36
|
reek.instance_variable_set(:@output, @lines)
|
37
37
|
@matches = reek.analyze
|
38
38
|
end
|
39
|
-
|
39
|
+
|
40
40
|
it "should find the code smell's method name" do
|
41
41
|
smell = @matches.first[:code_smells].first
|
42
42
|
smell[:method].should == "ActivityReportsController#authorize_user"
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
it "should find the code smell's type" do
|
46
46
|
smell = @matches[1][:code_smells].first
|
47
47
|
smell[:type].should == "Nested Iterators"
|
48
48
|
end
|
49
|
-
|
49
|
+
|
50
50
|
it "should find the code smell's message" do
|
51
51
|
smell = @matches[1][:code_smells].first
|
52
52
|
smell[:message].should == "is nested"
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
it "should find the code smell's type" do
|
56
56
|
smell = @matches.first
|
57
57
|
smell[:file_path].should == "app/controllers/activity_reports_controller.rb"
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
it "should NOT insert nil smells into the array when there's a newline in the method call" do
|
61
61
|
@matches.last[:code_smells].should == @matches.last[:code_smells].compact
|
62
|
-
@matches.last.should == {:file_path=>"app/controllers/newline_controller.rb",
|
63
|
-
:code_smells=>[{:type=>"Duplication",
|
64
|
-
:method=>"\"",
|
62
|
+
@matches.last.should == {:file_path=>"app/controllers/newline_controller.rb",
|
63
|
+
:code_smells=>[{:type=>"Duplication",
|
64
|
+
:method=>"\"",
|
65
65
|
:message=>"multiple times"}]}
|
66
66
|
# Note: hopefully a temporary solution until I figure out how to deal with newlines in the method call more effectively -Jake 5/11/2009
|
67
67
|
end
|
68
68
|
end
|
69
|
-
|
69
|
+
|
70
70
|
end
|
71
71
|
|
72
72
|
describe Reek do
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
2
|
|
3
|
-
describe Roodi do
|
3
|
+
describe Roodi do
|
4
4
|
describe "emit" do
|
5
5
|
it "should add config options when present" do
|
6
6
|
MetricFu::Configuration.run do |config|
|
@@ -10,7 +10,7 @@ describe Roodi do
|
|
10
10
|
roodi.should_receive(:`).with(/-config=lib\/config\/roodi_config\.yml/).and_return("")
|
11
11
|
roodi.emit
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
it "should NOT add config options when NOT present" do
|
15
15
|
MetricFu::Configuration.run do |config|
|
16
16
|
config.roodi = {:dirs_to_roodi => []}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
-
|
2
|
+
|
3
3
|
describe Saikuro do
|
4
4
|
describe "to_h method" do
|
5
5
|
before :all do
|
@@ -14,7 +14,7 @@ describe Saikuro do
|
|
14
14
|
it "should find the filename of a file" do
|
15
15
|
@output[:saikuro][:files].first[:filename].should == 'users_controller.rb'
|
16
16
|
end
|
17
|
-
|
17
|
+
|
18
18
|
it "should find the name of the classes" do
|
19
19
|
@output[:saikuro][:classes].first[:name].should == "UsersController"
|
20
20
|
@output[:saikuro][:classes][1][:name].should == "SessionsController"
|
@@ -24,11 +24,11 @@ describe Saikuro do
|
|
24
24
|
@output[:saikuro][:methods].first[:name].should == "UsersController#create"
|
25
25
|
@output[:saikuro][:methods].first[:complexity].should == 4
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
it "should find the complexity of a method" do
|
29
29
|
@output[:saikuro][:methods].first[:complexity].should == 4
|
30
30
|
end
|
31
|
-
|
31
|
+
|
32
32
|
it "should find the lines of a method" do
|
33
33
|
@output[:saikuro][:methods].first[:lines].should == 15
|
34
34
|
end
|
@@ -39,13 +39,13 @@ describe Saikuro do
|
|
39
39
|
MetricFu::Configuration.run {}
|
40
40
|
File.stub!(:directory?).and_return(true)
|
41
41
|
saikuro = MetricFu::Saikuro.new
|
42
|
-
|
42
|
+
|
43
43
|
MetricFu.saikuro[:input_directory] = ["app", "lib"]
|
44
|
-
|
44
|
+
|
45
45
|
saikuro.format_directories.should == "\"app | lib\""
|
46
46
|
end
|
47
47
|
end
|
48
|
-
|
48
|
+
|
49
49
|
describe Saikuro::SFile do
|
50
50
|
describe "getting elements from a Saikuro result file" do
|
51
51
|
it "should parse nested START/END sections" do
|
@@ -10,7 +10,7 @@ describe Stats do
|
|
10
10
|
stats.emit
|
11
11
|
end
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
describe "analyze method" do
|
15
15
|
before :each do
|
16
16
|
@lines = <<-HERE.gsub(/^\s*/, "")
|
@@ -38,19 +38,19 @@ describe Stats do
|
|
38
38
|
File.should_receive(:open).and_return(mock("file", :read => @lines))
|
39
39
|
@results = stats.analyze
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
it "should get code Lines Of Code" do
|
43
43
|
@results[:codeLOC].should == 915
|
44
44
|
end
|
45
|
-
|
45
|
+
|
46
46
|
it "should get test Lines Of Code" do
|
47
47
|
@results[:testLOC].should == 2226
|
48
48
|
end
|
49
|
-
|
49
|
+
|
50
50
|
it "should get code to test ratio" do
|
51
51
|
@results[:code_to_test_ratio].should == 2.4
|
52
52
|
end
|
53
|
-
|
53
|
+
|
54
54
|
it "should get data on models" do
|
55
55
|
model_data = @results[:lines].find {|line| line[:name] == "Models"}
|
56
56
|
model_data[:classes].should == 9
|
@@ -61,7 +61,7 @@ describe Stats do
|
|
61
61
|
model_data[:loc_per_method].should == 7
|
62
62
|
end
|
63
63
|
end
|
64
|
-
|
64
|
+
|
65
65
|
describe "to_h method" do
|
66
66
|
it "should put things into a hash" do
|
67
67
|
MetricFu::Configuration.run {}
|
@@ -18,12 +18,12 @@ describe MetricFu::GchartGrapher do
|
|
18
18
|
grapher.instance_variable_get(:@max_value).should == 10
|
19
19
|
grapher.instance_variable_get(:@yaxis).should == [0, 2, 4, 6, 8, 10]
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
22
|
it "should set max value of the graph above largest value" do
|
23
23
|
grapher = Object.new.extend(MetricFu::GchartGrapher)
|
24
24
|
grapher.determine_y_axis_scale([19])
|
25
25
|
grapher.instance_variable_get(:@max_value).should == 20
|
26
|
-
|
26
|
+
|
27
27
|
grapher.determine_y_axis_scale([20])
|
28
28
|
grapher.instance_variable_get(:@max_value).should == 25
|
29
29
|
end
|
@@ -34,7 +34,7 @@ describe "Gchart graphers" do
|
|
34
34
|
before :each do
|
35
35
|
MetricFu::Configuration.run {|config| config.graph_engine = :gchart}
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
38
|
describe "FlayGchartGrapher graph! method" do
|
39
39
|
it "should set static values for graph" do
|
40
40
|
grapher = FlayGchartGrapher.new
|
@@ -49,7 +49,7 @@ describe "Gchart graphers" do
|
|
49
49
|
grapher.graph!
|
50
50
|
end
|
51
51
|
end
|
52
|
-
|
52
|
+
|
53
53
|
describe "FlogGchartGrapher graph! method" do
|
54
54
|
it "should set static values for graph" do
|
55
55
|
grapher = FlogGchartGrapher.new
|
@@ -68,7 +68,7 @@ describe "Gchart graphers" do
|
|
68
68
|
grapher.graph!
|
69
69
|
end
|
70
70
|
end
|
71
|
-
|
71
|
+
|
72
72
|
describe "RcovGchartGrapher graph! method" do
|
73
73
|
it "should set static values for graph" do
|
74
74
|
grapher = RcovGchartGrapher.new
|
@@ -85,7 +85,7 @@ describe "Gchart graphers" do
|
|
85
85
|
grapher.graph!
|
86
86
|
end
|
87
87
|
end
|
88
|
-
|
88
|
+
|
89
89
|
describe "ReekGchartGrapher graph! method" do
|
90
90
|
it "should set static values for graph" do
|
91
91
|
grapher = ReekGchartGrapher.new
|
@@ -102,7 +102,7 @@ describe "Gchart graphers" do
|
|
102
102
|
grapher.graph!
|
103
103
|
end
|
104
104
|
end
|
105
|
-
|
105
|
+
|
106
106
|
describe "RoodiGchartGrapher graph! method" do
|
107
107
|
it "should set static values for graph" do
|
108
108
|
grapher = RoodiGchartGrapher.new
|
@@ -117,7 +117,7 @@ describe "Gchart graphers" do
|
|
117
117
|
grapher.graph!
|
118
118
|
end
|
119
119
|
end
|
120
|
-
|
120
|
+
|
121
121
|
describe "StatsGchartGrapher graph! method" do
|
122
122
|
it "should set static values for graph" do
|
123
123
|
grapher = StatsGchartGrapher.new
|
@@ -4,7 +4,7 @@ describe MetricFu::FlogGrapher do
|
|
4
4
|
before :each do
|
5
5
|
MetricFu.configuration
|
6
6
|
@flog_grapher = MetricFu::FlogGrapher.new
|
7
|
-
|
7
|
+
|
8
8
|
end
|
9
9
|
|
10
10
|
it "should respond to flog_total, flog_average and labels" do
|
@@ -27,24 +27,24 @@ describe MetricFu::FlogGrapher do
|
|
27
27
|
100.times do |i|
|
28
28
|
methods["method_name_#{i}"] = {:score => i.to_f}
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
@metrics = {:flog => {:total => 111.1,
|
32
32
|
:average => 7.7,
|
33
33
|
:method_containers => [ {:methods => methods } ] } }
|
34
34
|
@date = "1/2"
|
35
35
|
end
|
36
|
-
|
36
|
+
|
37
37
|
it "should push to top_five_percent_average" do
|
38
38
|
average = (99.0 + 98.0 + 97.0 + 96.0 + 95.0) / 5.0
|
39
|
-
@flog_grapher.top_five_percent_average.should_receive(:push).with(average)
|
39
|
+
@flog_grapher.top_five_percent_average.should_receive(:push).with(average)
|
40
40
|
@flog_grapher.get_metrics(@metrics, @date)
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
it "should push 9.9 to flog_average" do
|
44
44
|
@flog_grapher.flog_average.should_receive(:push).with(7.7)
|
45
45
|
@flog_grapher.get_metrics(@metrics, @date)
|
46
46
|
end
|
47
|
-
|
47
|
+
|
48
48
|
context "when metrics were not generated" do
|
49
49
|
before(:each) do
|
50
50
|
@metrics = YAML::load(File.open(File.join(File.dirname(__FILE__), "..", "resources", "yml", "metric_missing.yml")))
|
@@ -90,7 +90,7 @@ describe MetricFu::FlogGrapher do
|
|
90
90
|
end
|
91
91
|
end
|
92
92
|
end
|
93
|
-
|
93
|
+
|
94
94
|
describe "responding to #get_metrics with legacy data" do
|
95
95
|
before(:each) do
|
96
96
|
@metrics = YAML::load(File.open(File.join(File.dirname(__FILE__), "..", "resources", "yml", "20090630.yml")))
|
@@ -100,7 +100,7 @@ describe MetricFu::FlogGrapher do
|
|
100
100
|
|
101
101
|
it "should push to top_five_percent_average" do
|
102
102
|
average = (73.6 + 68.5 + 66.1 + 46.6 + 44.8 + 44.1 + 41.2 + 36.0) / 8.0
|
103
|
-
@flog_grapher.top_five_percent_average.should_receive(:push).with(average)
|
103
|
+
@flog_grapher.top_five_percent_average.should_receive(:push).with(average)
|
104
104
|
@flog_grapher.get_metrics(@metrics, @date)
|
105
105
|
end
|
106
106
|
end
|