diff --git a/tests/mod.rs b/tests/mod.rs index 8b8139a..86fa0f1 100644 --- a/tests/mod.rs +++ b/tests/mod.rs @@ -1,6 +1,11 @@ -#![allow(missing_docs, clippy::cast_possible_truncation, clippy::unwrap_used)] +//! Integration tests. -use core::mem::MaybeUninit; +#![allow(clippy::cast_possible_truncation, clippy::unwrap_used)] + +use core::{ + borrow::{Borrow, BorrowMut}, + mem::MaybeUninit, +}; use hybrid_array::{Array, ArrayN}; use typenum::{U0, U2, U3, U4, U5, U6, U7}; @@ -67,6 +72,38 @@ fn as_mut_slice() { assert_eq!(&[1, 2], slice); } +#[test] +fn borrow_core_array() { + type A = Array; + let array: A = Array([1, 2]); + let array_ref: &[u8; 2] = array.borrow(); + assert_eq!(&array, array_ref); +} + +#[test] +fn borrow_identity() { + type A = Array; + let array: A = Array([1, 2]); + let array_ref: &A = array.borrow(); + assert_eq!(&array, array_ref); +} + +#[test] +fn borrow_mut_identity() { + type A = Array; + let mut array: A = Array([1, 2]); + let array_ref: &mut A = array.borrow_mut(); + assert_eq!(&[1, 2], array_ref); +} + +#[test] +fn borrow_mut_core_array() { + type A = Array; + let mut array: A = Array([1, 2]); + let array_ref: &mut [u8; 2] = array.borrow_mut(); + assert_eq!(&[1, 2], array_ref); +} + #[test] fn cast_slice_from_core() { type A = Array;