pkenum_core 0.3.1

Core logic for pkenum.
Documentation
///! Tests for EnumToken::from_ast
///!
///! # Terminology
///! 'parse' refers to being able to read enum values as strings, for example V6(String) should be V6.

use syn::{ Ident, parse_quote };
use pkenum_core::token::EnumToken;

/// Asserts that an enum can be parsed.
#[test]
fn from_ast_successfully_parses() {
    // Arrange & Act
    let token = EnumToken::from_ast(
        parse_quote!(
            #[allow(dead_code)]
            enum ExitCode { Failure, Success(u8) }));

    // Assert
    assert_eq!(token.ident, "ExitCode");
    assert_eq!(
        token.variants
            .into_iter()
            .map(|variant| variant.ident)
            .collect::<Vec<Ident>>(),
        vec!["Failure", "Success"]);
}