[go: up one dir, main page]

tinyvec 0.0.0

Just, really the littlest Vec you could need. So smol.
Documentation

extern crate std;

use tinyvec::*;

#[test]
fn test_push_pop() {
  let mut tv = TinyVec::new();

  assert_eq!(tv.pop(), None);
  
  tv.push(5_i32);
  assert_eq!(tv.pop(), Some(5_i32));
  assert_eq!(tv.len(), 0);

  for i in 0 .. 10 {
    tv.push(i);
  }
  assert_eq!(tv.len(), 10);
  assert_eq!(tv.pop(), Some(9));
  assert_eq!(tv.pop(), Some(8));
  assert_eq!(tv.pop(), Some(7));
  assert_eq!(tv.pop(), Some(6));
  assert_eq!(tv.pop(), Some(5));
  assert_eq!(tv.pop(), Some(4));
  assert_eq!(tv.pop(), Some(3));
  assert_eq!(tv.pop(), Some(2));
  assert_eq!(tv.pop(), Some(1));
  assert_eq!(tv.pop(), Some(0));
  assert_eq!(tv.pop(), None);
  assert_eq!(tv.pop(), None);
  assert_eq!(tv.pop(), None);
}