use std::fmt::Debug;
use std::path::Path;
use csv_sniffer::metadata::Metadata;
use agnes::source::csv::{CsvReader, CsvSource, IntoCsvSrcSpec};
pub fn load_csv_file<Spec>(filename: &str, spec: Spec) -> (CsvReader<Spec::CsvSrcSpec>, Metadata)
where
Spec: IntoCsvSrcSpec,
<Spec as IntoCsvSrcSpec>::CsvSrcSpec: Debug,
{
let data_filepath = Path::new(file!()) .parent()
.unwrap() .parent()
.unwrap() .join("data") .join(filename);
let source = CsvSource::new(data_filepath).unwrap();
(
CsvReader::new(&source, spec).unwrap(),
source.metadata().clone(),
)
}