4 require File.dirname(__FILE__) + "/../../../../../plugins/mcollective/aggregate/average.rb"
9 describe "#startup_hook" do
10 it "should set the correct result hash" do
11 result = Average.new(:test, [], "%d", :test_action)
12 result.result.should == {:value => 0, :type => :numeric, :output => :test}
13 result.aggregate_format.should == "%d"
16 it "should set a defauly aggregate_format if one isn't defined" do
17 result = Average.new(:test, [], nil, :test_action)
18 result.aggregate_format.should == "Average of test: %f"
22 describe "#process_result" do
23 it "should add the reply value to the result hash" do
24 average = Average.new([:test], [], "%d", :test_action)
25 average.process_result(1, {:test => 1})
26 average.result[:value].should == 1
30 describe "#summarize" do
31 it "should calculate the average and return a result class" do
33 result_obj.stubs(:new).returns(:success)
35 average = Average.new([:test], [], "%d", :test_action)
36 average.process_result(10, {:test => 10})
37 average.process_result(20, {:test => 20})
38 average.stubs(:result_class).returns(result_obj)
39 average.summarize.should == :success
40 average.result[:value].should == 15