use clap::{CommandFactory as _, Parser as _};

use super::{Error, Opts};

#[test]
const fn error_should_be_send_and_sync() {
    const fn f<T: Send + Sync>() {}

    f::<Error>();
}

#[test]
fn cli_command_tree_is_valid() {
    Opts::command().debug_assert();
}

#[test]
fn explain_command_parses() {
    let opts = Opts::try_parse_from(["ocpi-tariffs", "explain", "-o", "v211", "-f", "tariff.json"]);
    assert!(opts.is_ok(), "{:?}", opts.err());
}
