diff --git a/crates/domain/src/id.rs b/crates/domain/src/id.rs index 7990fb2..e408193 100644 --- a/crates/domain/src/id.rs +++ b/crates/domain/src/id.rs @@ -10,7 +10,7 @@ macro_rules! id_newtype { impl $name { /// Generate a fresh random id. - #[must_use] + #[must_use = "generating an id and discarding it is almost certainly a mistake"] pub fn new() -> Self { Self(uuid::Uuid::new_v4()) } diff --git a/crates/domain/src/vocabulary.rs b/crates/domain/src/vocabulary.rs index 2be29b7..5273b45 100644 --- a/crates/domain/src/vocabulary.rs +++ b/crates/domain/src/vocabulary.rs @@ -50,3 +50,18 @@ impl TermRef { self.vocabulary_id } } + +#[cfg(test)] +mod tests { + use super::*; + use crate::{TermId, VocabularyId}; + + #[test] + fn term_ref_exposes_its_parts() { + let term_id = TermId::new(); + let vocabulary_id = VocabularyId::new(); + let r = TermRef::new(term_id, vocabulary_id); + assert_eq!(r.term_id(), term_id); + assert_eq!(r.vocabulary_id(), vocabulary_id); + } +}