keyhog-scanner 0.5.73

keyhog-scanner: high-performance SIMD-accelerated secret detection engine
use keyhog_scanner::execution_pack::{ExecutionPackBackend, ExecutionPackPolicy};

#[test]
fn execution_pack_identity_names_and_scan_conversions_round_trip_exhaustively() {
    for backend in ExecutionPackBackend::ALL {
        assert_eq!(
            ExecutionPackBackend::from_lowercase_name(backend.lowercase_name()),
            Some(backend)
        );
        assert_eq!(
            ExecutionPackBackend::from_pascal_name(backend.pascal_name()),
            Some(backend)
        );
        assert_eq!(
            ExecutionPackBackend::from_scan_backend(backend.scan_backend()),
            Some(backend)
        );
    }
    for policy in ExecutionPackPolicy::ALL {
        assert_eq!(
            ExecutionPackPolicy::from_lowercase_name(policy.lowercase_name()),
            Some(policy)
        );
    }
    assert_eq!(ExecutionPackBackend::from_lowercase_name("GPU-CUDA"), None);
    assert_eq!(ExecutionPackBackend::from_pascal_name("GPUCuda"), None);
    assert_eq!(ExecutionPackPolicy::from_lowercase_name("DEFAULT"), None);
    assert_eq!(
        ExecutionPackPolicy::ALL.map(ExecutionPackPolicy::lowercase_name),
        ["default", "fast", "deep", "precision"]
    );
}