pub const COOKLANG_EVALUATOR_PROMPT: &str = include_str!("eval_prompt.txt");
pub fn inject_evaluation(original_text: &str, cooklang: &str) -> String {
COOKLANG_EVALUATOR_PROMPT
.replace("{{ORIGINAL}}", original_text)
.replace("{{COOKLANG}}", cooklang)
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_prompt_is_embedded() {
assert!(!COOKLANG_EVALUATOR_PROMPT.is_empty());
assert!(COOKLANG_EVALUATOR_PROMPT.contains("INGREDIENT COVERAGE"));
assert!(COOKLANG_EVALUATOR_PROMPT.contains("COMMON ISSUES"));
assert!(COOKLANG_EVALUATOR_PROMPT.contains("verdict"));
}
#[test]
fn test_inject_evaluation() {
let filled = inject_evaluation("2 eggs\n\nBoil them.", "Boil @eggs{2}.");
assert!(filled.contains("2 eggs\n\nBoil them."));
assert!(filled.contains("Boil @eggs{2}."));
assert!(!filled.contains("{{ORIGINAL}}"));
assert!(!filled.contains("{{COOKLANG}}"));
}
}