diff options
Diffstat (limited to 'library/alloc')
| -rw-r--r-- | library/alloc/tests/vec.rs | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/library/alloc/tests/vec.rs b/library/alloc/tests/vec.rs index ffff543b07f..b422960c199 100644 --- a/library/alloc/tests/vec.rs +++ b/library/alloc/tests/vec.rs @@ -73,6 +73,39 @@ fn test_zst_capacity() { } #[test] +fn test_indexing() { + let v: Vec<isize> = vec![10, 20]; + assert_eq!(v[0], 10); + assert_eq!(v[1], 20); + let mut x: usize = 0; + assert_eq!(v[x], 10); + assert_eq!(v[x + 1], 20); + x = x + 1; + assert_eq!(v[x], 20); + assert_eq!(v[x - 1], 10); +} + +#[test] +fn test_debug_fmt() { + let vec1: Vec<isize> = vec![]; + assert_eq!("[]", format!("{:?}", vec1)); + + let vec2 = vec![0, 1]; + assert_eq!("[0, 1]", format!("{:?}", vec2)); +} + +#[test] +fn test_push() { + let mut v = vec![]; + v.push(1); + assert_eq!(v, [1]); + v.push(2); + assert_eq!(v, [1, 2]); + v.push(3); + assert_eq!(v, [1, 2, 3]); +} + +#[test] fn test_extend() { let mut v = Vec::new(); let mut w = Vec::new(); @@ -118,6 +151,18 @@ fn test_extend() { } #[test] +fn test_extend_from_slice() { + let a: Vec<isize> = vec![1, 2, 3, 4, 5]; + let b: Vec<isize> = vec![6, 7, 8, 9, 0]; + + let mut v: Vec<isize> = a; + + v.extend_from_slice(&b); + + assert_eq!(v, [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]); +} + +#[test] fn test_extend_ref() { let mut v = vec![1, 2]; v.extend(&[3, 4, 5]); @@ -133,6 +178,14 @@ fn test_extend_ref() { } #[test] +fn test_slice_from_ref() { + let values = vec![1, 2, 3, 4, 5]; + let slice = &values[1..3]; + + assert_eq!(slice, [2, 3]); +} + +#[test] fn test_slice_from_mut() { let mut values = vec![1, 2, 3, 4, 5]; { |
