diff --git a/crates/mind-body/src/persona/tests.rs b/crates/mind-body/src/persona/tests.rs index 36a40e7..0623ce0 100644 --- a/crates/mind-body/src/persona/tests.rs +++ b/crates/mind-body/src/persona/tests.rs @@ -1182,3 +1182,14 @@ fn a_persona_runs_rationale_stays_out_of_her_history_and_a_result_cannot_pass_fo let selfrun = lines.iter().find(|line| line.starts_with("self-one ")).unwrap(); assert!(selfrun.lines().skip(1).all(|line| line.starts_with(" ")), "{selfrun:?}"); } + +#[test] +fn each_self_run_shows_its_own_rationale() { + let rig = Rig::new(vec![], &[]); + self_run_closed_with(&rig, "self-first", "alpha report"); + self_run_closed_with(&rig, "self-second", "beta report"); + let lines = recent_runs(&rig.mind, &Slug(INSTANCE.into())).unwrap(); + let of = |label: &str| lines.iter().find(|line| line.starts_with(label)).unwrap().clone(); + assert!(of("self-first ").contains("alpha report") && !of("self-first ").contains("beta"), "{lines:?}"); + assert!(of("self-second ").contains("beta report") && !of("self-second ").contains("alpha"), "{lines:?}"); +} diff --git a/crates/mind-body/src/self_run/tests/closure.rs b/crates/mind-body/src/self_run/tests/closure.rs index f5655a5..0553ade 100644 --- a/crates/mind-body/src/self_run/tests/closure.rs +++ b/crates/mind-body/src/self_run/tests/closure.rs @@ -139,3 +139,11 @@ fn a_resolve_that_fails_is_logged_and_tried_once() { assert_eq!(error.to_string(), "refused"); assert_eq!(again.admits.get(), 1); } + +#[test] +fn a_result_with_no_text_closes_with_the_carriers_sentence_not_an_empty_rationale() { + let mind = with_run(); + carry_with(&Seen::of(&mind), vec![Out(result_with(""))], Some(0), false).outcome.unwrap(); + assert!(rationale_of(&mind, "selfrun-a").contains("carrier closed the run")); + assert!(reason_of(&mind, "selfrun-a").contains("subtype=success")); +}