sheeter-engine 0.12.0

A CLI tool for converting data files between formats. v0.1.0 supports CSV <-> JSON.
Documentation
use proptest::prelude::*;
use sheeter_engine::{convert, Format};

proptest! {
    #![proptest_config(ProptestConfig::with_cases(64))]

    #[test]
    fn csv_json_csv_lossless(rows in prop::collection::vec("[a-zA-Z0-9 ]{1,20}", 1..20)) {
        let csv = format!("col\n{}\n", rows.join("\n"));
        let json = convert(Format::Csv, Format::Json, &csv).unwrap();
        let back = convert(Format::Json, Format::Csv, &json).unwrap();
        prop_assert_eq!(back, csv);
    }

    #[test]
    fn tsv_json_tsv_lossless(rows in prop::collection::vec("[a-zA-Z0-9 ]{1,20}", 1..20)) {
        let tsv = format!("col\n{}\n", rows.join("\n"));
        let json = convert(Format::Tsv, Format::Json, &tsv).unwrap();
        let back = convert(Format::Json, Format::Tsv, &json).unwrap();
        prop_assert_eq!(back, tsv);
    }
}