use vsdb::Mapx;
use vsdb::vsdb_set_base_dir;
#[test]
fn test_batch_entry_basic() {
let dir = format!(
"/tmp/vsdb_testing/batch_api_test_{}",
rand::random::<u128>()
);
vsdb_set_base_dir(&dir).unwrap();
let mut map = Mapx::new();
let mut batch = map.batch_entry();
batch.insert(&1, &"one".to_string());
batch.insert(&2, &"two".to_string());
batch.commit().unwrap();
assert_eq!(map.get(&1), Some("one".to_string()));
assert_eq!(map.get(&2), Some("two".to_string()));
let mut batch = map.batch_entry();
batch.remove(&1);
batch.insert(&3, &"three".to_string());
batch.commit().unwrap();
assert_eq!(map.get(&1), None);
assert_eq!(map.get(&2), Some("two".to_string()));
assert_eq!(map.get(&3), Some("three".to_string()));
{
let mut batch = map.batch_entry();
batch.insert(&4, &"four".to_string());
}
assert_eq!(map.get(&4), None);
}