use converge_pack::ProvenanceSource;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct Mnemos;
impl ProvenanceSource for Mnemos {
fn as_str(&self) -> &'static str {
"mnemos"
}
}
pub const MNEMOS_PROVENANCE: Mnemos = Mnemos;
#[cfg(test)]
mod tests {
use super::*;
use converge_pack::ContextKey;
#[test]
fn provenance_string_is_stable() {
assert_eq!(MNEMOS_PROVENANCE.as_str(), "mnemos");
}
#[test]
fn proposed_fact_uses_canonical_source_string() {
let fact = MNEMOS_PROVENANCE.proposed_fact(
ContextKey::Diagnostic,
"diagnostic",
converge_pack::TextPayload::new("content"),
);
assert_eq!(fact.provenance(), "mnemos");
}
}