Sha256: f445cd86e4329c3e862fe23f4b0b1d9aa8bd088355d927b096efbb39569ef7e1

Contents?: true

Size: 836 Bytes

Versions: 22

Compression:

Stored size: 836 Bytes

Contents

shared_examples_for "timelined subclass" do |events, result, extra_options|
  let(:name){ :counter }
  let(:ttl){ 100 }
  let(:raw_data_ttl){ 10 }
  let(:interval){ 5 }
  let(:reduce_delay){ 3 }
  let(:init_values){ {:ttl => ttl, :raw_data_ttl => raw_data_ttl, :interval => interval, :reduce_delay => reduce_delay}.merge(extra_options || {}) }
  let(:sensor){ described_class.new(name, init_values) }
  let(:epsilon) {1}

  it "should calculate summarized value #{result.inspect} of #{events.inspect}" do
    interval_id = 0
    start_of_interval = Time.at(interval_id)
    Timecop.freeze(start_of_interval) do
      events.each {|e| sensor.event(e)}
    end
    Timecop.freeze(start_of_interval + interval) do
      data = sensor.timeline(interval + epsilon).first
      data.value.should be_generally_equal(result)
    end
  end

end

Version data entries

22 entries across 22 versions & 2 rubygems

Version Path
pulse-meter-0.2.3 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.2.2 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.2.1 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.2.0 spec/shared_examples/timelined_subclass.rb
pulse-meter-client-backport-0.1.4 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.1.11 spec/shared_examples/timelined_subclass.rb
pulse-meter-client-backport-0.1.3 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.1.10 spec/shared_examples/timelined_subclass.rb
pulse-meter-client-backport-0.1.2 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.1.9 spec/shared_examples/timelined_subclass.rb
pulse-meter-client-backport-0.1.1 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.1.8 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.1.7 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.1.6 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.1.5 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.1.4 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.1.3 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.1.2 spec/shared_examples/timelined_subclass.rb
pulse-meter-0.1.1 spec/shared_examples/timelined_subclass.rb
pulse-meter-client-backport-0.1.0 spec/shared_examples/timelined_subclass.rb