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

Function range_next_back

cranelift/bforest/src/map.rs:1545–1588  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1543
1544 #[test]
1545 fn range_next_back() {
1546 let mut f = MapForest::<u32, f32>::new();
1547 let mut m = Map::<u32, f32>::new();
1548
1549 for i in 10..20 {
1550 m.insert(i, i as f32, &mut f, &());
1551 }
1552
1553 assert_eq!(
1554 m.range(12..16, &f, &()).rev().collect::<Vec<_>>(),
1555 vec![(15, 15.0), (14, 14.0), (13, 13.0), (12, 12.0)],
1556 );
1557
1558 assert_eq!(
1559 m.range(18.., &f, &()).rev().collect::<Vec<_>>(),
1560 vec![(19, 19.0), (18, 18.0)],
1561 );
1562
1563 assert_eq!(
1564 m.range(..12, &f, &()).rev().collect::<Vec<_>>(),
1565 vec![(11, 11.0), (10, 10.0)],
1566 );
1567
1568 assert_eq!(
1569 m.range(11..=12, &f, &()).rev().collect::<Vec<_>>(),
1570 vec![(12, 12.0), (11, 11.0)],
1571 );
1572
1573 let mut iter = m.range(13..=16, &f, &());
1574 assert_eq!(iter.next(), Some((13, 13.0)));
1575 assert_eq!(iter.next_back(), Some((16, 16.0)));
1576 assert_eq!(iter.next(), Some((14, 14.0)));
1577 assert_eq!(iter.next_back(), Some((15, 15.0)));
1578 assert!(iter.next().is_none());
1579 assert!(iter.next_back().is_none());
1580
1581 let mut iter = m.range(13..=16, &f, &());
1582 assert_eq!(iter.next_back(), Some((16, 16.0)));
1583 assert_eq!(iter.next(), Some((13, 13.0)));
1584 assert_eq!(iter.next_back(), Some((15, 15.0)));
1585 assert_eq!(iter.next(), Some((14, 14.0)));
1586 assert!(iter.next_back().is_none());
1587 assert!(iter.next().is_none());
1588 }
1589}

Callers

nothing calls this directly

Calls 3

newFunction · 0.50
insertMethod · 0.45
rangeMethod · 0.45

Tested by

no test coverage detected