age-crypto 0.2.0

A safe, ergonomic Rust wrapper around the age encryption library with strong typing, comprehensive error handling, and passphrase support.
Documentation
use age_crypto::types::EncryptedData;
fn create_encrypted(data: Vec<u8>) -> EncryptedData {
    EncryptedData::from(data)
}
#[test]
fn test_as_bytes() {
    let data = vec![1, 2, 3];
    let encrypted = create_encrypted(data.clone());
    assert_eq!(encrypted.as_bytes(), data.as_slice());
}
#[test]
fn test_to_vec() {
    let data = vec![1, 2, 3];
    let encrypted = create_encrypted(data.clone());
    assert_eq!(encrypted.to_vec(), data);
    assert_eq!(encrypted.as_bytes(), data.as_slice());
}
#[test]
fn test_len() {
    let encrypted = create_encrypted(vec![1, 2, 3, 4, 5]);
    assert_eq!(encrypted.len(), 5);
    let empty = create_encrypted(vec![]);
    assert_eq!(empty.len(), 0);
}
#[test]
fn test_is_empty() {
    let encrypted = create_encrypted(vec![]);
    assert!(encrypted.is_empty());
    let encrypted2 = create_encrypted(vec![0]);
    assert!(!encrypted2.is_empty());
}
#[test]
fn test_as_ref_bytes() {
    let data = vec![10, 20, 30];
    let encrypted = create_encrypted(data.clone());
    let as_ref: &[u8] = encrypted.as_ref();
    assert_eq!(as_ref, data.as_slice());
}
#[test]
fn test_from_vec() {
    let data = vec![100, 200, 255];
    let encrypted: EncryptedData = data.clone().into();
    assert_eq!(encrypted.as_bytes(), data.as_slice());
}
#[test]
fn test_into_vec() {
    let encrypted = create_encrypted(vec![5, 6, 7]);
    let vec: Vec<u8> = encrypted.into();
    assert_eq!(vec, vec![5, 6, 7]);
}
#[test]
fn test_display() {
    let encrypted = create_encrypted(vec![1, 2, 3]);
    assert_eq!(format!("{}", encrypted), "[EncryptedData: 3 bytes]");
    let empty = create_encrypted(vec![]);
    assert_eq!(format!("{}", empty), "[EncryptedData: 0 bytes]");
    let long = create_encrypted(vec![0; 1000]);
    assert_eq!(format!("{}", long), "[EncryptedData: 1000 bytes]");
}
#[test]
fn test_debug() {
    let encrypted = create_encrypted(vec![1, 2, 3]);
    let debug_str = format!("{:?}", encrypted);
    assert!(debug_str.starts_with("EncryptedData("));
    assert!(debug_str.contains("1, 2, 3"));
}
#[test]
fn test_clone() {
    let encrypted = create_encrypted(vec![10, 20, 30]);
    let cloned = encrypted.clone();
    assert_eq!(encrypted.as_bytes(), cloned.as_bytes());
    assert_eq!(encrypted, cloned);
}
#[test]
fn test_partial_eq() {
    let a1 = create_encrypted(vec![1, 2, 3]);
    let a2 = create_encrypted(vec![1, 2, 3]);
    let b = create_encrypted(vec![1, 2, 4]);
    assert_eq!(a1, a2);
    assert_ne!(a1, b);
}
#[test]
fn test_eq_after_from() {
    let data = vec![255, 0, 128];
    let a = create_encrypted(data.clone());
    let b = EncryptedData::from(data);
    assert_eq!(a, b);
}
#[test]
fn test_large_data() {
    let large = vec![42; 10_000];
    let encrypted = create_encrypted(large.clone());
    assert_eq!(encrypted.len(), 10_000);
    assert_eq!(encrypted.as_bytes(), large.as_slice());
}
#[test]
fn test_empty_data() {
    let empty = create_encrypted(vec![]);
    assert_eq!(empty.as_bytes(), &[]);
    assert_eq!(empty.to_vec(), Vec::<u8>::new());
}
#[test]
fn test_from_into_roundtrip() {
    let original = vec![1, 2, 3, 4, 5];
    let encrypted = EncryptedData::from(original.clone());
    let back: Vec<u8> = encrypted.into();
    assert_eq!(original, back);
}
#[test]
fn test_zero_bytes() {
    let data = vec![0, 0, 0];
    let encrypted = create_encrypted(data.clone());
    assert_eq!(encrypted.as_bytes(), data.as_slice());
}