| 216 | } |
| 217 | |
| 218 | func TestStringStructure_Decr(t *testing.T) { |
| 219 | str, _ := initdb() |
| 220 | defer str.db.Clean() |
| 221 | |
| 222 | err = str.Set("1", "1", 0) |
| 223 | assert.Nil(t, err) |
| 224 | |
| 225 | err := str.Decr("1", 0) |
| 226 | assert.Nil(t, err) |
| 227 | v1, _ := str.Get("1") |
| 228 | assert.Equal(t, v1, "0") |
| 229 | |
| 230 | err = str.Decr("1", 0) |
| 231 | v2, _ := str.Get("1") |
| 232 | assert.Equal(t, v2, "-1") |
| 233 | |
| 234 | err = str.Set("1", 1, 0) |
| 235 | assert.Nil(t, err) |
| 236 | |
| 237 | err = str.Decr("1", 0) |
| 238 | assert.Nil(t, err) |
| 239 | v3, _ := str.Get("1") |
| 240 | assert.Equal(t, v3, "0") |
| 241 | |
| 242 | err = str.Set("1", []byte("1"), 0) |
| 243 | assert.Nil(t, err) |
| 244 | |
| 245 | err = str.Decr("1", 0) |
| 246 | assert.Nil(t, err) |
| 247 | v4, _ := str.Get("1") |
| 248 | assert.Equal(t, v4, "0") |
| 249 | } |
| 250 | |
| 251 | func TestStringStructure_DecrBy(t *testing.T) { |
| 252 | str, _ := initdb() |