toolbox 0.2.9

Simple tools for daily use
Documentation
use std::fmt::Debug;
use toolbox::ds::matrix::Matrix;

#[test]
fn matrix_integration_test() {
    let mut m = Matrix::<i32>::new(3, 5);
    m.fill(5);
    print_matrix::<i32>(&m);

    let x = m.clone();
    m.fill(3);
    print_matrix(&x);
    print_matrix(&m);

    assert_eq_all(&m, 3);
    assert_eq_all(&x, 5);
}

fn print_matrix<T: Default + Clone + Debug>(m: &Matrix<T>) {
    for i in 0..m.rows() {
        for j in 0..m.cols() {
            print!("{:?} ", m[i][j]);
        }
        println!();
    }
    println!();
}

fn assert_eq_all<T: Default + Clone + PartialEq + Debug>(m: &Matrix<T>, value: T) {
    for i in 0..m.rows() {
        for j in 0..m.cols() {
            assert_eq!(m.get(i, j), &value);
        }
    }
}