condor-pathfinding-grid 0.4.0

Grid pathfinding, preprocessing, replanning, and multi-agent algorithms for Condor.
Documentation
//! Fixture-free owner smoke for the mature any-angle runtime surface.

use condor_grid::{
    AnyAnglePathfinder, AnyAngleSearchRequest, Grid, LazyThetaStar, Point2, ThetaStar,
};

#[test]
fn mature_any_angle_solvers_agree_on_an_open_grid() {
    let grid = Grid::new(3, 3).expect("small grid is valid");
    let request = AnyAngleSearchRequest::new(Point2::new(0.0, 0.0), Point2::new(3.0, 3.0));

    let theta = ThetaStar
        .search(&grid, request)
        .expect("valid open request");
    let lazy = LazyThetaStar
        .search(&grid, request)
        .expect("valid open request");

    assert!(theta.is_found() && lazy.is_found());
    assert!(
        (theta.path().expect("theta path").cost() - lazy.path().expect("lazy path").cost()).abs()
            < 1e-9
    );
}