use memkit::{MkAllocator, MkConfig};
#[test]
fn test_allocator_handle_stability() {
let alloc = MkAllocator::new(MkConfig::default());
alloc.begin_frame();
let box1 = alloc.frame_box(42u32).unwrap();
let ptr = box1.as_ptr() as *mut u8;
let handle = alloc.handle_alloc(ptr);
assert_eq!(alloc.handle_resolve(handle), Some(ptr));
alloc.end_frame();
assert_eq!(alloc.handle_resolve(handle), Some(ptr));
let box2 = alloc.heap_box(42u32).unwrap();
let new_ptr = box2.as_ptr() as *mut u8;
alloc.handle_update(handle, new_ptr);
assert_eq!(alloc.handle_resolve(handle), Some(new_ptr));
alloc.handle_free(handle);
assert_eq!(alloc.handle_resolve(handle), None);
}