diff --git a/src/matrix.rs b/src/matrix.rs index 8d4b670..81163a2 100644 --- a/src/matrix.rs +++ b/src/matrix.rs @@ -67,6 +67,7 @@ impl IndexMut<(usize, usize)> for Matrix { #[cfg(test)] mod tests { use super::*; + use std::panic; #[test] fn simple_matrix() { assert_eq!( @@ -93,6 +94,15 @@ mod tests { let m2 = Matrix::new(3, 2, vec![int!(1), int!(2), int!(3), int!(4), int!(5), int!(6)]).unwrap(); assert_eq!(m2[(0, 2)], int!(3)); assert_eq!(m2[(1, 0)], int!(4)); + let result = panic::catch_unwind(|| { + let _ = m2[(0, 3)]; + }); + assert!(result.is_err(), "Expected panic on m2[(0, 3)]"); + + let result2 = panic::catch_unwind(|| { + let _ = m2[(2, 0)]; + }); + assert!(result2.is_err(), "Expected panic on m2[(2, 0)]"); } #[test]