require 'ganymed/sampler/derive' require 'sampler/datasource_examples' describe Ganymed::Sampler::Derive do include_context 'DataSource' subject { Ganymed::Sampler::Derive.new(ticks) } let(:ts) { now = Time.now.utc; now.to_i + (now.usec * 1e-6) } let(:values) { 10.times.collect { rand } } it_behaves_like Ganymed::Sampler::DataSource describe "#flush" do before(:each) do values.each do |value| subject.feed(ns, origin, ts, value) end end it "should call each" do subject.should_receive(:each).with(1).once subject.flush(1) end it "should yield derived values" end describe "#feed" do it "should add fed samples" do subject.should_receive(:add).with(ns, origin, [ts, value]) subject.feed(ns, origin, ts, value) end end end