use super::*;
use crate::{parser::*, Flags};
#[test]
fn cases() {
let flags = TestRenamed::FLAGS
.iter()
.map(|flag| (flag.name(), flag.value().bits()))
.collect::<Vec<_>>();
assert_eq!(
vec![
("custom", 1),
("custom", 1 << 1),
("c", 1 << 2),
("custom | e", 1 << 3),
],
flags,
);
assert!(TestRenamed::from_name("A").is_none());
assert_eq!(TestRenamed::C, TestRenamed::from_name("c").unwrap());
assert_eq!(TestRenamed::A, TestRenamed::from_name("custom").unwrap());
assert_eq!(
TestRenamed::D,
TestRenamed::from_name("custom | e").unwrap()
);
assert!(from_str_truncate::<TestRenamed>("custom | e").is_err());
}