summaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
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.rs22
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(_) => (),
+ }
+}
+