|  | use enum_as_inner::EnumAsInner; | 
|  |  | 
|  | #[derive(Debug, EnumAsInner)] | 
|  | enum EmptyTest {} | 
|  |  | 
|  | #[test] | 
|  | fn test_empty() { | 
|  | let empty = None::<EmptyTest>; | 
|  |  | 
|  | assert!(empty.is_none()); | 
|  | } | 
|  |  | 
|  | #[derive(Debug, EnumAsInner)] | 
|  | enum EmptyParendsTest { | 
|  | Empty(), | 
|  | } | 
|  |  | 
|  | #[test] | 
|  | fn test_empty_parends() { | 
|  | let empty = EmptyParendsTest::Empty(); | 
|  |  | 
|  | assert_eq!(empty.as_empty().unwrap(), ()); | 
|  | assert_eq!(empty.into_empty().unwrap(), ()); | 
|  | } | 
|  |  | 
|  | #[derive(Debug, EnumAsInner)] | 
|  | enum OneTest { | 
|  | One(u32), | 
|  | } | 
|  |  | 
|  | #[test] | 
|  | fn test_one() { | 
|  | let empty = OneTest::One(1); | 
|  |  | 
|  | assert_eq!(*empty.as_one().unwrap(), 1); | 
|  | assert_eq!(empty.into_one().unwrap(), 1); | 
|  | } | 
|  |  | 
|  | #[derive(Debug, EnumAsInner)] | 
|  | enum MultiTest { | 
|  | Multi(u32, u32), | 
|  | } | 
|  |  | 
|  | #[test] | 
|  | fn test_multi() { | 
|  | let multi = MultiTest::Multi(1, 1); | 
|  |  | 
|  | assert_eq!(multi.as_multi().unwrap(), (&1_u32, &1_u32)); | 
|  | assert_eq!(multi.into_multi().unwrap(), (1_u32, 1_u32)); | 
|  | } |