use caesar_cipher_enc_dec::caesar_cipher::decrypt;
#[test]
fn test_decrypt_uppercase_only() {
let text = "DEF";
let shift = 3;
let result = decrypt(text, shift);
assert_eq!(result, "ABC");
}
#[test]
fn test_decrypt_lowercase_only() {
let text = "def";
let shift = 3;
let result = decrypt(text, shift);
assert_eq!(result, "abc");
}
#[test]
fn test_decrypt_with_symbols() {
let text = "L ORYH BRX.";
let shift = 3;
let result = decrypt(text, shift);
assert_eq!(result, "I LOVE YOU.");
}
#[test]
fn test_decrypt_shift_zero() {
let text = "ABC";
let shift = 0;
let result = decrypt(text, shift);
assert_eq!(result, "ABC");
}
#[test]
fn test_decrypt_shift_25() {
let text = "Z";
let shift = 25;
let result = decrypt(text, shift);
assert_eq!(result, "A");
}
#[test]
fn test_decrypt_shift_26_wrap() {
let text = "ABC";
let shift = 26;
let result = decrypt(text, shift);
assert_eq!(result, "ABC");
}
#[test]
fn test_decrypt_negative_shift() {
let text = "A";
let shift = -1;
let result = decrypt(text, shift);
assert_eq!(result, "B");
}
#[test]
fn test_decrypt_empty_string() {
let text = "";
let shift = 3;
let result = decrypt(text, shift);
assert_eq!(result, "");
}
#[test]
fn test_decrypt_non_ascii() {
let text = "日本語";
let shift = 5;
let result = decrypt(text, shift);
assert_eq!(result, "日本語");
}