vec.rs 763 B

12345678910111213141516171819202122232425262728293031323334
  1. extern crate ralloc;
  2. mod util;
  3. #[test]
  4. fn simple_vec() {
  5. util::multiply(|| {
  6. let mut vec = Vec::new();
  7. for i in 0..0xFFFF {
  8. // We're going to annoy the allocator by allocating a small chunk, after which we push.
  9. let _bx = Box::new(4);
  10. vec.push(i);
  11. }
  12. assert_eq!(vec[0xDEAD], 0xDEAD);
  13. assert_eq!(vec[0xBEAF], 0xBEAF);
  14. assert_eq!(vec[0xABCD], 0xABCD);
  15. assert_eq!(vec[0xFFAB], 0xFFAB);
  16. assert_eq!(vec[0xAAAA], 0xAAAA);
  17. for i in 0xFFF..0 {
  18. util::acid(|| {
  19. assert_eq!(vec.pop(), Some(i));
  20. });
  21. }
  22. for i in 0..0xFFF {
  23. vec[i] = 0;
  24. assert_eq!(vec[i], 0);
  25. }
  26. });
  27. }