use super::*;
use crate::global_state::error;
mod partial_tries {
use super::*;
#[test]
fn lmdb_reads_from_n_leaf_partial_trie_had_expected_results() {
for (num_leaves, generator) in TEST_TRIE_GENERATORS.iter().enumerate() {
let (root_hash, tries) = generator().unwrap();
let context = LmdbTestContext::new(&tries).unwrap();
let test_leaves = TEST_LEAVES;
let (used, unused) = test_leaves.split_at(num_leaves);
check_leaves::<_, _, _, _, error::Error>(
&context.environment,
&context.store,
&root_hash,
used,
unused,
)
.unwrap();
}
}
}
mod full_tries {
use super::*;
#[test]
fn lmdb_reads_from_n_leaf_full_trie_had_expected_results() {
let context = LmdbTestContext::new(EMPTY_HASHED_TEST_TRIES).unwrap();
let mut states: Vec<Digest> = Vec::new();
for (state_index, generator) in TEST_TRIE_GENERATORS.iter().enumerate() {
let (root_hash, tries) = generator().unwrap();
context.update(&tries).unwrap();
states.push(root_hash);
for (num_leaves, state) in states[..state_index].iter().enumerate() {
let test_leaves = TEST_LEAVES;
let (used, unused) = test_leaves.split_at(num_leaves);
check_leaves::<_, _, _, _, error::Error>(
&context.environment,
&context.store,
state,
used,
unused,
)
.unwrap();
}
}
}
}