Sha256: aae6b9acca273057596161247e6eb0c45d0aba25bafd683e769905d280e3f3d9

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

require 'spec_helper'

describe '#incrby(key, increment)' do
  before { @key = 'mock-redis-test:65374' }

  it 'returns the value after the increment' do
    @redises.set(@key, 2)
    @redises.incrby(@key, 2).should == 4
  end

  it 'treats a missing key like 0' do
    @redises.incrby(@key, 1).should == 1
  end

  it 'increments negative numbers' do
    @redises.set(@key, -10)
    @redises.incrby(@key, 2).should == -8
  end

  it 'works multiple times' do
    @redises.incrby(@key, 2).should == 2
    @redises.incrby(@key, 2).should == 4
    @redises.incrby(@key, 2).should == 6
  end

  it 'accepts an integer-ish string' do
    @redises.incrby(@key, '2').should == 2
  end

  it 'raises an error if the value does not look like an integer' do
    @redises.set(@key, 'one')
    lambda do
      @redises.incrby(@key, 1)
    end.should raise_error(RuntimeError)
  end

  it 'raises an error if the delta does not look like an integer' do
    lambda do
      @redises.incrby(@key, 'foo')
    end.should raise_error(RuntimeError)
  end

  it_should_behave_like 'a string-only command'
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mock_redis-0.15.0 spec/commands/incrby_spec.rb