diff options
Diffstat (limited to 'src/tests')
-rw-r--r-- | src/tests/matrix_test_ops.rs (renamed from src/tests/matrix_test.rs) | 31 | ||||
-rw-r--r-- | src/tests/matrix_test_parse.rs | 22 |
2 files changed, 33 insertions, 20 deletions
diff --git a/src/tests/matrix_test.rs b/src/tests/matrix_test_ops.rs index 08ed3a6..fe8c40d 100644 --- a/src/tests/matrix_test.rs +++ b/src/tests/matrix_test_ops.rs @@ -1,20 +1,8 @@ use std::str::FromStr; -use crate::types::{matrix::Matrix, matrix_err::ParseMatrixError}; +use crate::{matrix::Matrix, error::ParseMatrixError}; #[test] -pub fn test_matrix_init_from_string() -> Result<(), ParseMatrixError> { - let data_target = vec![vec![1, 2, 3], vec![4, 5, 6], vec![7, 8, 9]]; - let target = Matrix { - nrows: 3, - ncols: 3, - data: data_target, - }; - let test = Matrix::from_str("1,2,3\n4,5,6\n7,8,9")?; - assert_eq!(target, test); - Ok(()) -} -#[test] pub fn test_matrix_add() -> Result<(), ParseMatrixError> { let m1 = Matrix::from_str("1,2,3\n4,5,6\n7,8,9")?; let m2 = Matrix::from_str("1,1,1\n1,1,1\n1,1,1")?; @@ -37,13 +25,16 @@ pub fn test_matrix_transposition() -> Result<(), ParseMatrixError> { Ok(()) } #[test] -pub fn test_matrix_parse_malformed() -> () { - let malformed = "1,23,\n,567,\n\n5"; - let m = Matrix::from_str(malformed); - match m { - Ok(_) => panic!("This malformed matrix string should not have succeeded"), - Err(_) => (), - } +pub fn test_matrix_mul() -> Result<(), ParseMatrixError> { + let m1 = Matrix::from_str("1,2\n1,2")?; + let m2 = Matrix::from_str("1,3\n2,4")?; + let m3 = Matrix::from_str("1,2\n3,4")?; + let m4 = Matrix::from_str("1\n2")?; + let t1 = Matrix::from_str("5,11\n5,11")?; + let t2 = Matrix::from_str("5\n11")?; + assert_eq!(&m1 * &m2, t1); + assert_eq!(&m3 * &m4, t2); + Ok(()) } #[test] #[should_panic] diff --git a/src/tests/matrix_test_parse.rs b/src/tests/matrix_test_parse.rs new file mode 100644 index 0000000..a31851a --- /dev/null +++ b/src/tests/matrix_test_parse.rs @@ -0,0 +1,22 @@ +use std::str::FromStr; + +use crate::{matrix::Matrix, error::ParseMatrixError}; + +#[test] +pub fn test_matrix_init_from_string() -> Result<(), ParseMatrixError> { + let data_target = vec![vec![1, 2, 3], vec![4, 5, 6], vec![7, 8, 9]]; + let target = Matrix::new(data_target); + let test = Matrix::from_str("1,2,3\n4,5,6\n7,8,9")?; + assert_eq!(target, test); + Ok(()) +} +#[test] +pub fn test_matrix_parse_malformed() -> () { + let malformed = "1,23,\n,567,\n\n5"; + let m = Matrix::from_str(malformed); + match m { + Ok(_) => panic!("This malformed matrix string should not have succeeded"), + Err(_) => (), + } +} + |