package redis.clients.jedis.tests.commands; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import org.junit.Test; import redis.clients.jedis.tests.JedisTest; public class HashesCommandsTest extends JedisCommandTestBase { @Test public void hset() { int status = jedis.hset("foo", "bar", "car"); assertEquals(1, status); status = jedis.hset("foo", "bar", "foo"); assertEquals(0, status); } @Test public void hget() { jedis.hset("foo", "bar", "car"); assertEquals(null, jedis.hget("bar", "foo")); assertEquals(null, jedis.hget("foo", "car")); assertEquals("car", jedis.hget("foo", "bar")); } @Test public void hsetnx() { int status = jedis.hsetnx("foo", "bar", "car"); assertEquals(1, status); assertEquals("car", jedis.hget("foo", "bar")); status = jedis.hsetnx("foo", "bar", "foo"); assertEquals(0, status); assertEquals("car", jedis.hget("foo", "bar")); status = jedis.hsetnx("foo", "car", "bar"); assertEquals(1, status); assertEquals("bar", jedis.hget("foo", "car")); } @Test public void hmset() { Map hash = new HashMap(); hash.put("bar", "car"); hash.put("car", "bar"); String status = jedis.hmset("foo", hash); assertEquals("OK", status); assertEquals("car", jedis.hget("foo", "bar")); assertEquals("bar", jedis.hget("foo", "car")); } @Test public void hmget() { Map hash = new HashMap(); hash.put("bar", "car"); hash.put("car", "bar"); jedis.hmset("foo", hash); List values = jedis.hmget("foo", "bar", "car", "foo"); List expected = new ArrayList(); expected.add("car"); expected.add("bar"); expected.add(null); assertEquals(expected, values); } @Test public void hincrBy() { int value = jedis.hincrBy("foo", "bar", 1); assertEquals(1, value); value = jedis.hincrBy("foo", "bar", -1); assertEquals(0, value); value = jedis.hincrBy("foo", "bar", -10); assertEquals(-10, value); } @Test public void hexists() { Map hash = new HashMap(); hash.put("bar", "car"); hash.put("car", "bar"); jedis.hmset("foo", hash); assertEquals(0, jedis.hexists("bar", "foo").intValue()); assertEquals(0, jedis.hexists("foo", "foo").intValue()); assertEquals(1, jedis.hexists("foo", "bar").intValue()); } @Test public void hdel() { Map hash = new HashMap(); hash.put("bar", "car"); hash.put("car", "bar"); jedis.hmset("foo", hash); assertEquals(0, jedis.hdel("bar", "foo").intValue()); assertEquals(0, jedis.hdel("foo", "foo").intValue()); assertEquals(1, jedis.hdel("foo", "bar").intValue()); assertEquals(null, jedis.hget("foo", "bar")); } @Test public void hlen() { Map hash = new HashMap(); hash.put("bar", "car"); hash.put("car", "bar"); jedis.hmset("foo", hash); assertEquals(0, jedis.hlen("bar").intValue()); assertEquals(2, jedis.hlen("foo").intValue()); } @Test public void hkeys() { Map hash = new LinkedHashMap(); hash.put("bar", "car"); hash.put("car", "bar"); jedis.hmset("foo", hash); List keys = jedis.hkeys("foo"); List expected = new ArrayList(); expected.add("bar"); expected.add("car"); assertTrue(JedisTest.isListAreEquals(expected, keys)); // assertEquals(expected, keys); } @Test public void hvals() { Map hash = new LinkedHashMap(); hash.put("bar", "car"); hash.put("car", "bar"); jedis.hmset("foo", hash); List vals = jedis.hvals("foo"); List expected = new ArrayList(); expected.add("car"); expected.add("bar"); assertTrue(JedisTest.isListAreEquals(expected, vals)); // assertEquals(expected, vals); } @Test public void hgetAll() { Map h = new HashMap(); h.put("bar", "car"); h.put("car", "bar"); jedis.hmset("foo", h); Map hash = jedis.hgetAll("foo"); Map expected = new HashMap(); expected.put("bar", "car"); expected.put("car", "bar"); assertEquals(expected, hash); } }