Sha256: 2cb785d53fbb7a2a247b420df702c60a0099fe980e1a1edca02b84bbbd5ffec7

Contents?: true

Size: 1.95 KB

Versions: 32

Compression:

Stored size: 1.95 KB

Contents

require "spec_helper"

describe PulseMeter::Visualize::Widgets::Pie do
  let(:interval){ 100 }
  let!(:a_sensor){ PulseMeter::Sensor::Timelined::Counter.new(:a_sensor, :ttl => 1000, :interval => interval, annotation: 'A') }
  let!(:b_sensor){ PulseMeter::Sensor::Timelined::Counter.new(:b_sensor, :ttl => 1000, :interval => interval, annotation: 'B') }

  let(:widget_name){ "some_widget" }

  let(:redraw_interval){5}
  let(:values_label){'xxxx'}
  let(:width){6}
  let(:a_color){'#FF0000'}
  let(:b_color){'#FFFF00'}

  let(:interval_start){ Time.at((Time.now.to_i / interval) * interval) }

  let(:widget) do
    w = PulseMeter::Visualize::DSL::Widgets::Pie.new(widget_name)
    w.redraw_interval redraw_interval
    w.width width
    w.sensor :a_sensor, color: a_color
    w.sensor :b_sensor, color: b_color
    w.gchart_options a: 1
    w.to_data
  end

  describe "#data" do
    it "should contain type, title, redraw_interval, width, gchart_options attriutes" do
      wdata = widget.data
      wdata[:type].should == 'pie'
      wdata[:title].should == widget_name
      wdata[:redraw_interval].should == redraw_interval
      wdata[:width].should == width
      wdata[:gchart_options].should == {a: 1}
    end

    describe "series attribute" do
      before(:each) do
        Timecop.freeze(interval_start + 1) do
          a_sensor.event(12)
          b_sensor.event(33)
        end
        Timecop.freeze(interval_start + interval + 1) do
          a_sensor.event(111)
        end
        @current_time = interval_start + 2 * interval - 1
      end

      it "should contain valid pie slices" do

        Timecop.freeze(@current_time) do
          widget.data[:series].should ==
            {
              data: [
                [a_sensor.annotation, 12],
                [b_sensor.annotation, 33]
              ],
              options: [
                {color: a_color},
                {color: b_color}
              ]
            }
        end

      end

    end
  end
end



Version data entries

32 entries across 32 versions & 2 rubygems

Version Path
pulse_meter_visualizer-0.4.20 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse_meter_visualizer-0.4.19 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse_meter_visualizer-0.4.18 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse_meter_visualizer-0.4.17 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse_meter_visualizer-0.4.16 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse_meter_visualizer-0.4.15 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse_meter_visualizer-0.4.14 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse_meter_visualizer-0.4.13 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse_meter_visualizer-0.4.12 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse_meter_visualizer-0.4.11 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse-meter-0.4.9 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse-meter-0.4.8 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse-meter-0.4.7 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse-meter-0.4.6 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse-meter-0.4.5 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse-meter-0.4.4 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse-meter-0.4.3 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse-meter-0.4.2 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse-meter-0.4.1 spec/pulse_meter/visualize/widgets/pie_spec.rb
pulse-meter-0.4.0 spec/pulse_meter/visualize/widgets/pie_spec.rb