use vsdb::{Mapx, VsdbOptions, vsdb_configure};
#[test]
fn test_batch_basic() {
let dir = format!(
"/tmp/vsdb_testing/batch_api_test_{}",
rand::random::<u128>()
);
vsdb_configure(VsdbOptions::new(&dir)).unwrap();
let mut map = Mapx::new();
let mut batch = map.batch();
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();
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();
batch.insert(&4, &"four".to_string());
}
assert_eq!(map.get(&4), None);
}