mirror of
https://github.com/redis/go-redis.git
synced 2025-06-12 14:21:52 +03:00
feat(zadd): add ZAddLT and ZAddGT (#2429)
Co-authored-by: Vladimir Mihailenco <vladimir.webdev@gmail.com>
This commit is contained in:
@ -3407,6 +3407,76 @@ var _ = Describe("Commands", func() {
|
||||
Expect(vals).To(Equal([]redis.Z{{Score: 1, Member: "one"}}))
|
||||
})
|
||||
|
||||
It("should ZAddArgsLT", func() {
|
||||
added, err := client.ZAddLT(ctx, "zset", redis.Z{
|
||||
Score: 2,
|
||||
Member: "one",
|
||||
}).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(added).To(Equal(int64(1)))
|
||||
|
||||
vals, err := client.ZRangeWithScores(ctx, "zset", 0, -1).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(vals).To(Equal([]redis.Z{{Score: 2, Member: "one"}}))
|
||||
|
||||
added, err = client.ZAddLT(ctx, "zset", redis.Z{
|
||||
Score: 3,
|
||||
Member: "one",
|
||||
}).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(added).To(Equal(int64(0)))
|
||||
|
||||
vals, err = client.ZRangeWithScores(ctx, "zset", 0, -1).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(vals).To(Equal([]redis.Z{{Score: 2, Member: "one"}}))
|
||||
|
||||
added, err = client.ZAddLT(ctx, "zset", redis.Z{
|
||||
Score: 1,
|
||||
Member: "one",
|
||||
}).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(added).To(Equal(int64(0)))
|
||||
|
||||
vals, err = client.ZRangeWithScores(ctx, "zset", 0, -1).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(vals).To(Equal([]redis.Z{{Score: 1, Member: "one"}}))
|
||||
})
|
||||
|
||||
It("should ZAddArgsGT", func() {
|
||||
added, err := client.ZAddGT(ctx, "zset", redis.Z{
|
||||
Score: 2,
|
||||
Member: "one",
|
||||
}).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(added).To(Equal(int64(1)))
|
||||
|
||||
vals, err := client.ZRangeWithScores(ctx, "zset", 0, -1).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(vals).To(Equal([]redis.Z{{Score: 2, Member: "one"}}))
|
||||
|
||||
added, err = client.ZAddGT(ctx, "zset", redis.Z{
|
||||
Score: 3,
|
||||
Member: "one",
|
||||
}).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(added).To(Equal(int64(0)))
|
||||
|
||||
vals, err = client.ZRangeWithScores(ctx, "zset", 0, -1).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(vals).To(Equal([]redis.Z{{Score: 3, Member: "one"}}))
|
||||
|
||||
added, err = client.ZAddGT(ctx, "zset", redis.Z{
|
||||
Score: 1,
|
||||
Member: "one",
|
||||
}).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(added).To(Equal(int64(0)))
|
||||
|
||||
vals, err = client.ZRangeWithScores(ctx, "zset", 0, -1).Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(vals).To(Equal([]redis.Z{{Score: 3, Member: "one"}}))
|
||||
})
|
||||
|
||||
It("should ZAddArgsNX", func() {
|
||||
added, err := client.ZAddNX(ctx, "zset", redis.Z{
|
||||
Score: 1,
|
||||
|
Reference in New Issue
Block a user