pub trait PrototypePteSource: Send + Sync {
fn resolve(&self, pte_value: u64) -> Option<u64>;
}
#[cfg(test)]
mod tests {
use super::*;
use crate::test_builders::MockPrototypePteSource;
#[test]
fn mock_source_returns_mapped_address() {
let source = MockPrototypePteSource::new(vec![(1 << 10, 0x00A0_0000)]);
assert_eq!(source.resolve(1 << 10), Some(0x00A0_0000));
}
#[test]
fn mock_source_returns_none_for_unmapped() {
let source = MockPrototypePteSource::new(vec![]);
assert_eq!(source.resolve(1 << 10), None);
}
}