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.

68 lines
1.9 KiB

import static junit.framework.Assert.*;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;
import data.Taxonomy;
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();
}
}