#[macro_use]
extern crate clapme;
use clapme::ClapMe;
#[test]
fn simple_phantom() {
#[derive(ClapMe, PartialEq, Debug)]
struct PhantomOpt<T> {
first: std::marker::PhantomData<T>,
second: String,
}
println!("help: {}", <PhantomOpt<i32>>::help_message("foo"));
assert!(!<PhantomOpt<i32>>::help_message("foo").contains("--first"));
assert!(<PhantomOpt<i32>>::help_message("foo").contains("--second"));
assert_eq!(
PhantomOpt::<i32> { first: std::marker::PhantomData, second: "hello".to_string() },
<PhantomOpt<i32>>::from_iter(&["","--second=hello"]).unwrap());
assert!(<PhantomOpt<i32>>::from_iter(&[""]).is_err());
}