Add some tests
This commit is contained in:
parent
5cff443d00
commit
58e81aedf9
@ -21,3 +21,7 @@ serde = "1.0.136"
|
||||
serde_bare = "0.5.0"
|
||||
|
||||
ouroboros = "0.14.2"
|
||||
|
||||
|
||||
[dev-dependencies]
|
||||
tempfile = "3.3.0"
|
||||
|
@ -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
48
src/tests.rs
Normal 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!");
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user