Sha256: d2a10bacf7bcfe62799fde3a2569b13480be26bd65669033c5df54c983fa3e5e

Contents?: true

Size: 951 Bytes

Versions: 7

Compression:

Stored size: 951 Bytes

Contents

describe Devtools::Flay::Scale, '#measure' do
  subject(:measure) { instance.measure }

  let(:minimum_mass) { 0 }
  let(:files)        { [instance_double(File)] }
  let(:flay_masses) { { 0 => 5, 1 => 10 } }

  let(:instance) do
    described_class.new(minimum_mass: minimum_mass, files: files)
  end

  let(:flay_hashes) do
    {
      0 => instance_double(Array, size: 3),
      1 => instance_double(Array, size: 11)
    }
  end

  let(:flay) do
    instance_double(
      ::Flay,
      analyze: nil,
      masses:  flay_masses,
      hashes:  flay_hashes
    )
  end

  before do
    allow(::Flay).to receive(:new).with(mass: minimum_mass).and_return(flay)
    allow(flay).to receive(:process).with(*files)
  end

  it { should eql([Rational(5, 3), Rational(10, 11)]) }

  context 'when minimum mass is not 0' do
    let(:minimum_mass) { 1 }

    specify do
      measure
      expect(::Flay).to have_received(:new).with(mass: 1)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
devtools-0.1.26 spec/unit/devtools/flay/scale/measure_spec.rb
devtools-0.1.25 spec/unit/devtools/flay/scale/measure_spec.rb
devtools-0.1.24 spec/unit/devtools/flay/scale/measure_spec.rb
devtools-0.1.23 spec/unit/devtools/flay/scale/measure_spec.rb
devtools-0.1.22 spec/unit/devtools/flay/scale/measure_spec.rb
devtools-0.1.21 spec/unit/devtools/flay/scale/measure_spec.rb
devtools-0.1.20 spec/unit/devtools/flay/scale/measure_spec.rb