Add some tests

This commit is contained in:
Olivier 'reivilibre' 2022-03-24 19:59:33 +00:00
parent 5cff443d00
commit 58e81aedf9
3 changed files with 53 additions and 7 deletions

View File

@ -21,3 +21,7 @@ serde = "1.0.136"
serde_bare = "0.5.0"
ouroboros = "0.14.2"
[dev-dependencies]
tempfile = "3.3.0"

View File

@ -3,10 +3,4 @@ pub mod environment;
pub mod wrapper;
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
let result = 2 + 2;
assert_eq!(result, 4);
}
}
mod tests;

48
src/tests.rs Normal file
View File

@ -0,0 +1,48 @@
use crate::environment::Env;
use tempfile::NamedTempFile;
fn temp_env() -> Env {
let tempfile = NamedTempFile::new().unwrap();
Env::open(tempfile.path()).unwrap()
}
#[test]
fn test_raw_bytes_basics() {
let env = temp_env();
let db = env.open_raw_table::<[u8], [u8]>(Some("rawt"), ()).unwrap();
let k: [u8; 4] = [0, 1, 2, 3];
{
let txn = env.ro_txn().unwrap();
assert_eq!(db.get(&txn, &k).unwrap(), None);
}
env.rw_txn(|txn| db.put(txn, &k, &[42, 41, 43])).unwrap();
{
let txn = env.ro_txn().unwrap();
assert_eq!(
db.get(&txn, &k).unwrap().unwrap().as_ref(),
&[42, 41, 43][..]
);
}
}
#[test]
fn test_raw_str_basics() {
let env = temp_env();
let db = env.open_raw_table::<str, str>(Some("rawt"), ()).unwrap();
{
let txn = env.ro_txn().unwrap();
assert_eq!(db.get(&txn, "ooh").unwrap(), None);
}
env.rw_txn(|txn| db.put(txn, "ooh", "cool!")).unwrap();
{
let txn = env.ro_txn().unwrap();
assert_eq!(db.get(&txn, "ooh").unwrap().unwrap().as_ref(), "cool!");
}
}