use memory_db::{HashKey, MemoryDB};
use reference_trie::{RefFatDB, RefFatDBMut, RefHasher};
use trie_db::{DBValue, Trie, TrieMut};
#[test]
fn fatdb_to_trie() {
let mut memdb = MemoryDB::<RefHasher, HashKey<_>, DBValue>::default();
let mut root = Default::default();
{
let mut t = RefFatDBMut::new(&mut memdb, &mut root);
t.insert(&[0x01u8, 0x23], &[0x01u8, 0x23]).unwrap();
}
let t = RefFatDB::new(&memdb, &root);
assert_eq!(t.get(&[0x01u8, 0x23]).unwrap().unwrap(), vec![0x01u8, 0x23]);
assert_eq!(
t.iter().unwrap().map(Result::unwrap).collect::<Vec<_>>(),
vec![(vec![0x01u8, 0x23], vec![0x01u8, 0x23])]
);
assert_eq!(
t.key_iter().unwrap().map(Result::unwrap).collect::<Vec<_>>(),
vec![vec![0x01u8, 0x23]]
);
}