-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHashAndSetCommandTest.java
More file actions
39 lines (32 loc) · 1.18 KB
/
Copy pathHashAndSetCommandTest.java
File metadata and controls
39 lines (32 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.vaultdb;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.Map;
import java.util.Set;
import static org.junit.jupiter.api.Assertions.*;
class HashAndSetCommandTest {
private VaultDBEngine engine;
@BeforeEach
void setUp() {
engine = new VaultDBEngine();
}
@Test
void hashOperations() {
assertEquals(1, engine.hset("user", "name", "ankit"));
assertEquals(0, engine.hset("user", "name", "ankit"));
assertEquals("ankit", engine.hget("user", "name"));
assertTrue(engine.hexists("user", "name"));
assertEquals(Map.of("name", "ankit"), engine.hgetall("user"));
assertEquals(1, engine.hdel("user", "name"));
assertEquals(0, engine.hgetall("user").size());
}
@Test
void setOperations() {
assertEquals(2, engine.sadd("tags", "java", "redis"));
assertEquals(0, engine.sadd("tags", "java"));
assertTrue(engine.sismember("tags", "redis"));
assertEquals(Set.of("java", "redis"), engine.smembers("tags"));
assertEquals(1, engine.srem("tags", "java"));
assertEquals(Set.of("redis"), engine.smembers("tags"));
}
}