1#[derive(Debug, thiserror::Error)]
3pub enum NliError {
4 #[error("failed to download NLI model: {0}")]
6 Download(String),
7
8 #[error("failed to load NLI model: {0}")]
10 ModelLoad(String),
11
12 #[error("failed to load NLI tokenizer: {0}")]
14 TokenizerLoad(String),
15
16 #[error("NLI inference error: {0}")]
18 Inference(String),
19}
20
21#[cfg(test)]
22mod tests {
23 use super::*;
24
25 #[test]
26 fn should_render_model_load_error_with_message() {
27 let err = NliError::ModelLoad("session init failed".to_string());
28
29 assert_eq!(err.to_string(), "failed to load NLI model: session init failed");
30 }
31
32 #[test]
33 fn should_render_inference_error_with_message() {
34 let err = NliError::Inference("tokenization failed".to_string());
35
36 assert_eq!(err.to_string(), "NLI inference error: tokenization failed");
37 }
38}