fixed-queue 0.5.1

no_std, no_alloc, use [T; N]. support `Vec`/`VecDeque`/`History`
Documentation
use fixed_queue::LinearMap;

#[test]
fn test_base() {
    let mut map: LinearMap<usize, usize, 3> = LinearMap::new();
    assert_eq!(map.capacity(), 3);
    assert!(map.is_empty());

    assert!(map.insert(1, 1).is_ok());
    assert!(map.contains_key(&1));
    assert!(map.insert(2, 2).is_ok());
    assert!(map.contains_key(&2));
    assert!(map.insert(3, 3).is_ok());
    assert!(map.contains_key(&3));
    assert!(map.insert(4, 4).is_err());
    assert!(!map.contains_key(&4));
    assert!(map.remove(&1).is_some());
    assert!(!map.contains_key(&1));
    assert!(map.insert(5, 5).is_ok());
    assert!(map.contains_key(&5));
}

#[test]
fn test_drop() {
    use on_drop::OnDrop;

    let mut map: LinearMap<usize, _, 3> = LinearMap::new();
    let (item, token) = OnDrop::token(1);
    assert!(map.insert(1, item).is_ok());
    drop(map);
    assert!(token.is_droped());
}