use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct KnowledgeEntity {
id: String,
label: String,
}
impl KnowledgeEntity {
pub fn new(id: impl Into<String>, label: impl Into<String>) -> Self {
Self {
id: id.into(),
label: label.into(),
}
}
pub fn id(&self) -> &str {
&self.id
}
pub fn label(&self) -> &str {
&self.label
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn creates_entity_with_id_and_label() {
let entity = KnowledgeEntity::new("entity:rust", "Rust");
assert_eq!(entity.id(), "entity:rust");
assert_eq!(entity.label(), "Rust");
}
}