gentrix 0.1.4

A library that adds the Matrix typed using generics that is basically a wrapper around a 2D Vector
Documentation
use std::vec;

use crate::matrix::Matrix;

#[test]
fn basic() {
    let mut matrix = Matrix::<i32>::new((5, 5));

    assert!(matrix.set(1, (1, 1)).is_ok());
    assert!(matrix.set(6, (1, 2)).is_ok());

    let a = matrix.get((1, 1)).unwrap();
    let b = matrix.get((1, 2)).unwrap();

    assert_eq!(a + b, 7);
}

#[test]
fn from() {
    let items = vec![vec![1, 2], vec![3, 4]];

    let mut matrix = Matrix::from(items);

    assert_eq!(matrix.get((1, 0)), Some(3));
}

#[test]
fn translation() {
    let items = vec![vec![1, 2], vec![3, 4]];

    let mut matrix = Matrix::from(items);

    matrix.translate((0, 0), (1, 0)).unwrap();

    println!("{:?}", matrix);

    assert_eq!(matrix.get((0,0)), None);
    assert_eq!(matrix.get((1,0)), Some(1));
}

#[test]
fn out_of_bounds() {
    let mut matrix = Matrix::<bool>::new((5,5));

    assert!(matrix.set(true, (0,0)).is_ok());
    assert!(matrix.translate((0,0), (0,1)).is_ok());
    assert!(matrix.delete((5,5)).is_err());
}