tj_core/classifier/
mock.rs1use super::*;
4
5pub struct MockClassifier {
6 pub canned: ClassifyOutput,
7}
8
9impl Classifier for MockClassifier {
10 fn classify(&self, _input: &ClassifyInput) -> anyhow::Result<ClassifyOutput> {
11 Ok(self.canned.clone())
12 }
13}
14
15#[cfg(test)]
16mod tests {
17 use super::*;
18 use crate::event::EventType;
19
20 #[test]
21 fn mock_returns_canned_output() {
22 let m = MockClassifier {
23 canned: ClassifyOutput {
24 event_type: EventType::Decision,
25 task_id_guess: Some("tj-x".into()),
26 confidence: 0.95,
27 evidence_strength: None,
28 suggested_text: "...".into(),
29 },
30 };
31 let out = m
32 .classify(&ClassifyInput {
33 text: "ignored".into(),
34 author_hint: "user".into(),
35 recent_tasks: vec![],
36 })
37 .unwrap();
38 assert_eq!(out.event_type, EventType::Decision);
39 assert_eq!(out.confidence, 0.95);
40 }
41}