MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / simple_cursor

Function simple_cursor

cranelift/bforest/src/set.rs:408–447  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

406
407 #[test]
408 fn simple_cursor() {
409 let mut f = SetForest::<u32>::new();
410 let mut s = Set::<u32>::new();
411 let mut c = SetCursor::new(&mut s, &mut f, &());
412
413 assert!(c.insert(50));
414 c.verify();
415 assert_eq!(c.elem(), Some(50));
416
417 assert!(c.insert(100));
418 c.verify();
419 assert_eq!(c.elem(), Some(100));
420
421 assert!(c.insert(10));
422 c.verify();
423 assert_eq!(c.elem(), Some(10));
424
425 // Basic movement.
426 assert_eq!(c.next(), Some(50));
427 assert_eq!(c.next(), Some(100));
428 assert_eq!(c.next(), None);
429 assert_eq!(c.next(), None);
430 assert_eq!(c.prev(), Some(100));
431 assert_eq!(c.prev(), Some(50));
432 assert_eq!(c.prev(), Some(10));
433 assert_eq!(c.prev(), None);
434 assert_eq!(c.prev(), None);
435
436 assert!(c.goto(50));
437 assert_eq!(c.elem(), Some(50));
438 assert_eq!(c.remove(), Some(50));
439 c.verify();
440
441 assert_eq!(c.elem(), Some(100));
442 assert_eq!(c.remove(), Some(100));
443 c.verify();
444 assert_eq!(c.elem(), None);
445 assert_eq!(c.remove(), None);
446 c.verify();
447 }
448
449 #[test]
450 fn two_level_sparse_tree() {

Callers

nothing calls this directly

Calls 2

newFunction · 0.50
verifyMethod · 0.45

Tested by

no test coverage detected