You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.9 KiB
67 lines
1.9 KiB
6 years ago
|
import static junit.framework.Assert.*;
|
||
|
|
||
|
import java.io.UnsupportedEncodingException;
|
||
|
import java.util.HashMap;
|
||
|
import java.util.Map;
|
||
|
import java.util.concurrent.atomic.AtomicLong;
|
||
|
|
||
|
import org.rocksdb.RocksDB;
|
||
|
|
||
|
import util.db.RDB;
|
||
|
|
||
|
public class DBTest {
|
||
|
|
||
|
static {
|
||
|
RocksDB.loadLibrary();
|
||
|
}
|
||
|
|
||
|
// @Test
|
||
|
public void dbConnectorTest() throws UnsupportedEncodingException {
|
||
|
String key1 = "alfa";
|
||
|
AtomicLong value1 = new AtomicLong(10);
|
||
|
String key2 = "beta";
|
||
|
AtomicLong value2 = new AtomicLong(20);
|
||
|
String key3 = "alfa";
|
||
|
AtomicLong value3 = new AtomicLong(50);
|
||
|
String key4 = "theta";
|
||
|
AtomicLong value4 = new AtomicLong(40);
|
||
|
|
||
|
HashMap<String, AtomicLong> results = new HashMap<>();
|
||
|
results.put(key1, value1);
|
||
|
results.put(key2, value2);
|
||
|
|
||
|
RDB db = new RDB();
|
||
|
db.writeBatch(results);
|
||
|
|
||
|
// let's check how that fared out
|
||
|
Map<String, AtomicLong> dumpedResults = db.getDump();
|
||
|
// should have 2 items
|
||
|
assertEquals(2, dumpedResults.size());
|
||
|
|
||
|
// entry comparison
|
||
|
assertTrue(dumpedResults.containsKey(key1));
|
||
|
assertTrue(value1.longValue() == dumpedResults.get(key1).longValue());
|
||
|
assertTrue(dumpedResults.containsKey(key2));
|
||
|
assertTrue(value2.longValue() == dumpedResults.get(key2).longValue());
|
||
|
|
||
|
results = new HashMap<>();
|
||
|
results.put(key3, value3);
|
||
|
results.put(key4, value4);
|
||
|
db.writeBatch(results);
|
||
|
dumpedResults = db.getDump();
|
||
|
|
||
|
// should have 3 items with alfa's value reflecting summation
|
||
|
assertEquals(3, dumpedResults.size());
|
||
|
|
||
|
// entry comparison
|
||
|
assertTrue(dumpedResults.containsKey(key1));
|
||
|
assertTrue(value1.longValue() + value3.longValue() == dumpedResults.get(key1).longValue());
|
||
|
assertTrue(dumpedResults.containsKey(key2));
|
||
|
assertTrue(value2.longValue() == dumpedResults.get(key2).longValue());
|
||
|
assertTrue(dumpedResults.containsKey(key4));
|
||
|
assertTrue(value4.longValue() == dumpedResults.get(key4).longValue());
|
||
|
|
||
|
db.delete();
|
||
|
}
|
||
|
}
|