diff --git a/tests/mod.rs b/tests/mod.rs index 0e9a405..9f0e6cb 100644 --- a/tests/mod.rs +++ b/tests/mod.rs @@ -155,6 +155,48 @@ fn cast_slice_to_core_mut() { assert_eq!(slice[1], [3, 4]); } +#[test] +fn from_hybrid_array_for_core_array() { + let hybrid_arr: Array = Array([1, 2]); + let core_arr = <[u8; 2]>::from(hybrid_arr); + assert_eq!(core_arr, [1, 2]); +} + +#[test] +fn from_hybrid_ref_for_core_ref() { + let hybrid_arr: &Array = &Array([1, 2]); + let core_arr = <&[u8; 2]>::from(hybrid_arr); + assert_eq!(core_arr, &[1, 2]); +} + +#[test] +fn from_hybrid_mut_for_core_mut() { + let hybrid_arr: &mut Array = &mut Array([1, 2]); + let core_arr = <&mut [u8; 2]>::from(hybrid_arr); + assert_eq!(core_arr, &[1, 2]); +} + +#[test] +fn from_ref() { + let n = 42u64; + let array = Array::from_ref(&n); + assert_eq!(array[0], n); +} + +#[test] +fn from_mut() { + let mut n = 42u64; + let array = Array::from_mut(&mut n); + array[0] = 43; + assert_eq!(n, 43); +} + +#[test] +fn from_fn() { + let array = Array::::from_fn(|n| (n + 1) as u8); + assert_eq!(array.as_slice(), EXAMPLE_SLICE); +} + #[test] fn tryfrom_slice_for_clonable_array() { assert!(Array::::try_from(EXAMPLE_SLICE).is_err()); @@ -274,27 +316,6 @@ fn split_ref_mut() { assert_eq!(suffix.as_slice(), &EXAMPLE_SLICE[4..]); } -#[test] -fn from_ref() { - let n = 42u64; - let array = Array::from_ref(&n); - assert_eq!(array[0], n); -} - -#[test] -fn from_mut() { - let mut n = 42u64; - let array = Array::from_mut(&mut n); - array[0] = 43; - assert_eq!(n, 43); -} - -#[test] -fn from_fn() { - let array = Array::::from_fn(|n| (n + 1) as u8); - assert_eq!(array.as_slice(), EXAMPLE_SLICE); -} - #[test] fn try_from_fn() { let array = Array::::try_from_fn::<()>(|n| Ok((n + 1) as u8)).unwrap();