Sha256: 9d8014e0d5787627bf03a26a5bf33dd4c3a362df7f30bf704f5c3544efca7ce4

Contents?: true

Size: 1.22 KB

Versions: 18

Compression:

Stored size: 1.22 KB

Contents

require 'spec_helper'

describe 'Enumerable#exactly' do
  context 'with block' do
    it 'returns true for exact number of matches' do
      expect([1, 2, 3, 4].exactly?(2, &:even?)).to be_truthy
    end

    it 'returns false for less matches' do
      expect([1, 3, 4].exactly?(2, &:even?)).to be_falsey
    end

    it 'returns false for more matches' do
      expect([1, 3, 4, 6, 8].exactly?(2, &:even?)).to be_falsey
    end
  end

  context 'without block' do
    it 'returns true for exact number of non nil/false elements in absence of nil/false elements' do
      expect([1, 2, 3, 4].exactly?(4)).to be_truthy
    end

    it 'returns true for exact number of non nil/false elements in presence of nil/false elements' do
      expect([1, 2, nil, false].exactly?(2)).to be_truthy
    end

    it 'returns true for exact number of nil/false elements' do
      expect([nil, false].exactly?(0)).to be_truthy
    end

    it 'returns false if there are less non nil/false elements in absence of nil/false elements' do
      expect([1, 2, 3].exactly?(4)).to be_falsey
    end

    it 'returns false if there are less non nil/false elements in presence of nil/false elements' do
      expect([1, nil, false].exactly?(4)).to be_falsey
    end
  end
end

Version data entries

18 entries across 15 versions & 5 rubygems

Version Path
powerpack-0.1.3 spec/powerpack/enumerable/exactly_spec.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/powerpack-0.1.2/spec/powerpack/enumerable/exactly_spec.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/powerpack-0.1.2/spec/powerpack/enumerable/exactly_spec.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/powerpack-0.1.2/spec/powerpack/enumerable/exactly_spec.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/powerpack-0.1.2/spec/powerpack/enumerable/exactly_spec.rb
dirwatch-0.0.9 vendor/bundle/ruby/2.5.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/exactly_spec.rb
dirwatch-0.0.9 vendor/bundle/ruby/2.5.0/gems/powerpack-0.1.2/spec/powerpack/enumerable/exactly_spec.rb
dirwatch-0.0.8 vendor/bundle/ruby/2.5.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/exactly_spec.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/powerpack-0.1.2/spec/powerpack/enumerable/exactly_spec.rb
powerpack-0.1.2 spec/powerpack/enumerable/exactly_spec.rb
dirwatch-0.0.6 vendor/bundle/ruby/2.3.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/exactly_spec.rb
dirwatch-0.0.5 vendor/bundle/ruby/2.3.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/exactly_spec.rb
dirwatch-0.0.4 vendor/bundle/ruby/2.3.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/exactly_spec.rb
dirwatch-0.0.3 vendor/bundle/ruby/2.3.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/exactly_spec.rb
dirwatch-0.0.2 vendor/bundle/ruby/2.3.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/exactly_spec.rb
fluent-plugin-detect-memb-exceptions-0.0.2 vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/exactly_spec.rb
fluent-plugin-detect-memb-exceptions-0.0.1 vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/exactly_spec.rb
powerpack-0.1.1 spec/powerpack/enumerable/exactly_spec.rb