rust-warrior 0.14.1

Game for learning Rust, inspired by Ruby Warrior
Documentation
use rust_warrior::{floor::Floor, unit::Unit, Tile, UnitType};

#[test]
fn test_tile_draw() {
    let t = Tile::Empty;
    assert_eq!(t.draw(), " ");

    let t = Tile::Stairs;
    assert_eq!(t.draw(), ">");

    let t = Tile::Unit(UnitType::Warrior);
    assert_eq!(t.draw(), "@");
}

#[test]
fn test_floor_tile() {
    let f = Floor {
        width: 3,
        height: 1,
        stairs: (2, 0),
        units: vec![Unit::warrior((0, 0))],
    };

    let t = f.tile((0, 0));
    assert_eq!(t, Tile::Unit(UnitType::Warrior));

    let t = f.tile((1, 0));
    assert_eq!(t, Tile::Empty);

    let t = f.tile((2, 0));
    assert_eq!(t, Tile::Stairs);
}

#[test]
fn test_floor_load() {
    let f = Floor::load(1);

    let t = f.tile((0, 0));
    assert_eq!(t, Tile::Unit(UnitType::Warrior));

    for x in 1..7 {
        let t = f.tile((x, 0));
        assert_eq!(t, Tile::Empty);
    }

    let t = f.tile((7, 0));
    assert_eq!(t, Tile::Stairs);
}