diff --git a/tests/mod.rs b/tests/mod.rs index 55270a7..e94af0c 100644 --- a/tests/mod.rs +++ b/tests/mod.rs @@ -9,6 +9,54 @@ const EXAMPLE_SLICE: &[u8] = &[1, 2, 3, 4, 5, 6]; /// Ensure `ArrayN` works as expected. const _FOO: ArrayN = Array([1, 2, 3, 4]); +#[test] +fn as_ref_core_array() { + type A = Array; + let array: A = Array([1, 2]); + let array_ref: &[u8; 2] = array.as_ref(); + assert_eq!(&array, array_ref); +} + +#[test] +fn as_ref_identity() { + type A = Array; + let array: A = Array([1, 2]); + let array_ref: &A = array.as_ref(); + assert_eq!(&array, array_ref); +} + +#[test] +fn as_ref_slice() { + type A = Array; + let array: A = Array([1, 2]); + let slice: &[u8] = array.as_ref(); + assert_eq!(array.as_slice(), slice); +} + +#[test] +fn as_mut_core_array() { + type A = Array; + let mut array: A = Array([1, 2]); + let array_ref: &mut [u8; 2] = array.as_mut(); + assert_eq!(&[1, 2], array_ref); +} + +#[test] +fn as_mut_identity() { + type A = Array; + let mut array: A = Array([1, 2]); + let array_ref: &mut A = array.as_mut(); + assert_eq!(&[1, 2], array_ref); +} + +#[test] +fn as_mut_slice() { + type A = Array; + let mut array: A = Array([1, 2]); + let slice: &mut [u8] = array.as_mut(); + assert_eq!(&[1, 2], slice); +} + #[test] fn cast_slice_from_core() { type A = Array;