simplify-polyline 0.5.0

Simplify polylines using Douglas-Peucker and radial distance algorithms. Port of the simplify-js library.
Documentation
use simplify_polyline::{point, points, simplify, Point};

#[test]
fn returns_empty_vec_if_no_points() {
    let result = simplify::<2, f64>(&[], 1.0, false);
    assert_eq!(result.len(), 0);
}

#[test]
fn returns_same_vec_if_one_point() {
    let input1: [Point<2, f64>; 1] = points![(0.0, 0.0)];
    let result1 = simplify(&input1, 1.0, false);
    assert_eq!(result1[0], input1[0]);

    let input2 = point!(0.0, 0.0);
    let result2 = simplify(&[input2], 1.0, false);
    assert_eq!(result1, result2);
}

#[test]
fn matches_expected_output() {
    let input =
        serde_json::from_str::<Vec<Point<2, f64>>>(include_str!("../fixtures/test-case.json"));
    let expected_output = serde_json::from_str::<Vec<Point<2, f64>>>(include_str!(
        "../fixtures/test-case-output.json"
    ));

    assert!(input.is_ok());
    assert!(expected_output.is_ok());

    let result = simplify(&input.unwrap(), 5.0, false);

    assert_eq!(result, expected_output.unwrap());
}