| 62 | } |
| 63 | |
| 64 | func TestCounters(t *testing.T) { |
| 65 | c := newClient(t) |
| 66 | count, err := c.INCR("count") |
| 67 | assert.NoError(t, err) |
| 68 | assert.Equal(t, int64(1), count) |
| 69 | |
| 70 | count, err = c.INCRBY("count", 42) |
| 71 | assert.NoError(t, err) |
| 72 | assert.Equal(t, int64(43), count) |
| 73 | |
| 74 | count, err = c.DECR("count") |
| 75 | assert.NoError(t, err) |
| 76 | assert.Equal(t, int64(42), count) |
| 77 | |
| 78 | count, err = c.DECRBY("count", 22) |
| 79 | assert.NoError(t, err) |
| 80 | assert.Equal(t, int64(20), count) |
| 81 | |
| 82 | num, err := c.INCRBYFLOAT("count", 3.14) |
| 83 | assert.NoError(t, err) |
| 84 | assert.InDelta(t, 23.14, num, 0.01) |
| 85 | |
| 86 | num, err = c.INCRBYFLOAT("count", -3.14) |
| 87 | assert.NoError(t, err) |
| 88 | assert.InDelta(t, 20, num, 0.01) |
| 89 | |
| 90 | v, err := c.GET("count") |
| 91 | assert.NoError(t, err) |
| 92 | assert.InDelta(t, 20, v.Float(), 0.001) |
| 93 | } |
| 94 | |
| 95 | func TestAtomicOps(t *testing.T) { |
| 96 | c := newClient(t) |