Sha256: 22abea3fb26f9042701cfb98bb96cd904311f09791cc396197303a2c736c3d81

Contents?: true

Size: 784 Bytes

Versions: 7

Compression:

Stored size: 784 Bytes

Contents

describe 'enumerable', proxy: :Enumerable do
  moneta_build do
    Moneta.build do
      use :Enumerable
      adapter :Memory
    end
  end

  moneta_specs STANDARD_SPECS.without_transform.returnsame.without_persist.with_each_key

  it 'includes the enumerable interface' do
    expect(store).to be_a Enumerable
    expect(Enumerable.instance_methods).to all satisfy { |m| store.respond_to? m }
  end

  it 'allows enumeration over key-value pairs' do
    moneta_property_of(keys: 100, values: 100) do |keys:, values:|
      pairs = keys.zip(values)
      store.merge!(pairs)
      expect(store.to_a).to contain_exactly(*pairs)
      expect(store.each.to_a).to contain_exactly(*pairs)
      expect(store.each_pair.to_a).to contain_exactly(*pairs)
      store.clear
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
moneta-1.5.0 spec/moneta/proxies/enumerable/enumerable_spec.rb
moneta-1.4.2 spec/moneta/proxies/enumerable/enumerable_spec.rb
moneta-1.4.1 spec/moneta/proxies/enumerable/enumerable_spec.rb
moneta-1.4.0 spec/moneta/proxies/enumerable/enumerable_spec.rb
moneta-1.3.0 spec/moneta/proxies/enumerable/enumerable_spec.rb
moneta-1.2.1 spec/moneta/proxies/enumerable/enumerable_spec.rb
moneta-1.2.0 spec/moneta/proxies/enumerable/enumerable_spec.rb