Mercurial > lbo > hg > leveldb-rs
changeset 320:ac996598254b
db_impl: Add tests for get*() methods
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Fri, 29 Sep 2017 19:43:36 +0200 |
parents | 29dd4509365f |
children | 399b1358ea66 |
files | src/db_impl.rs |
diffstat | 1 files changed, 26 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/db_impl.rs Fri Sep 29 19:43:22 2017 +0200 +++ b/src/db_impl.rs Fri Sep 29 19:43:36 2017 +0200 @@ -1127,6 +1127,32 @@ } #[test] + fn test_db_impl_get_from_table() { + let mut db = build_db(); + + assert_eq!(26, db.vset.last_seq); + + db.put("xyz".as_bytes(), "123".as_bytes()).unwrap(); + + // memtable get + assert_eq!("123".as_bytes(), + db.get("xyz".as_bytes()).unwrap().as_slice()); + assert!(db.get_internal(26, "xyz".as_bytes()).unwrap().is_none()); + assert!(db.get_internal(27, "xyz".as_bytes()).unwrap().is_some()); + + // table get + assert_eq!("val2".as_bytes(), + db.get("eab".as_bytes()).unwrap().as_slice()); + assert!(db.get_internal(3, "eab".as_bytes()).unwrap().is_none()); + assert!(db.get_internal(30, "eab".as_bytes()).unwrap().is_some()); + + let ss = db.get_snapshot(); + assert_eq!("val2".as_bytes(), + db.get_at(&ss, "eab".as_bytes()).unwrap().unwrap().as_slice()); + db.release_snapshot(ss); + } + + #[test] fn test_db_impl_compact_single_file() { let mut db = build_db(); set_file_to_compact(&mut db, 4);