1e6092ccb8558ef668e8f9e8ebe5e7cea608ef50
[perl-Redis.git] / t / 01-Redis.t
1 #!/usr/bin/perl
2
3 use warnings;
4 use strict;
5
6 use Test::More tests => 37;
7
8 use lib 'lib';
9
10 BEGIN {
11         use_ok( 'Redis' );
12 }
13
14 ok( my $o = Redis->new(), 'new' );
15
16 ok( $o->ping, 'ping' );
17
18 ok( $o->set( foo => 'bar' ), 'set foo => bar' );
19
20 eval { $o->set( foo => 'bar', 1 ) };
21 ok( $@, 'set foo => bar new again failed' );
22
23 cmp_ok( $o->get( 'foo' ), 'eq', 'bar', 'get foo = bar' );
24
25 ok( $o->set( foo => 'baz' ), 'set foo => baz' );
26
27 cmp_ok( $o->get( 'foo' ), 'eq', 'baz', 'get foo = baz' );
28
29 ok( ! $o->get( 'non-existant' ), 'get non-existant' );
30
31 ok( $o->set('key-next' => 0), 'key-next = 0' );
32
33 my $key_next = 3;
34
35 ok( $o->set('key-left' => $key_next), 'key-left' );
36
37 foreach ( 0 .. $key_next ) {
38         ok(     $o->set( "key-$_" => $_ ),           "set key-$_" );
39         cmp_ok( $o->get( "key-$_"       ), 'eq', $_, "get key-$_" );
40         cmp_ok( $o->incr( 'key-next' ), '==', $_ + 1, 'incr' );
41         cmp_ok( $o->decr( 'key-left' ), '==', $key_next - $_ - 1, 'decr' );
42 }
43
44 cmp_ok( $o->get( 'key-next' ), '==', $key_next + 1, 'key-next' );
45
46 ok( $o->set('test-incrby', 0), 'test-incrby' );
47 ok( $o->set('test-decrby', 0), 'test-decry' );
48 foreach ( 1 .. 3 ) {
49         cmp_ok( $o->incr('test-incrby', 3), '==', $_ * 3, 'incrby 3' );
50         cmp_ok( $o->decr('test-decrby', 7), '==', -( $_ * 7 ), 'decrby 7' );
51 }
52
53 ok( $o->quit, 'quit' );