use std::path::Path;
use tspf::{TspBuilder, TspKind, WeightKind};
#[test]
fn parse_vrp() {
let tsp = TspBuilder::parse_path(Path::new("./tests/data/eil22.vrp")).unwrap();
assert_eq!(TspKind::Cvrp, tsp.kind());
assert_eq!(22, tsp.dim());
assert_eq!(WeightKind::Euc2d, tsp.weight_kind());
assert_eq!(6000., tsp.capacity());
assert_eq!(1, tsp.depots().len());
assert!(tsp.depots().contains(&1));
let pt = tsp.node_coords().get(&21).unwrap();
assert_eq!(&vec![155., 185.], pt.pos());
assert_eq!(900_f64, *tsp.demands().get(&16).unwrap());
}
#[test]
fn parse_tsp() {
let tsp = TspBuilder::parse_path(Path::new("./tests/data/berlin52.tsp")).unwrap();
assert_eq!(TspKind::Tsp, tsp.kind());
assert_eq!(52, tsp.dim());
assert_eq!(WeightKind::Euc2d, tsp.weight_kind());
assert_eq!(0, tsp.depots().len());
let pt = tsp.node_coords().get(&52).unwrap();
assert_eq!(&vec![1740_f64, 245_f64], pt.pos());
}