use crate::behavioral_fidelity::types::EntityProfile;
pub fn gl_source_tp() -> EntityProfile {
EntityProfile::gl_source_tp_static()
}
pub fn reference_corpus_aliases() -> [(&'static str, &'static str); 13] {
[
("Source", "Source"),
("GLAccount", "GL Account Number"),
("CostCenter", "Cost Center"),
("ProfitCenter", "Profit Center"),
("TradingPartner", "Tarding Partner"), ("JENumber", "JE Number"),
("JELineNumber", "JE Line Number"),
("EffectiveDate", "Effective Date"),
("EntryDate", "Entry Date"),
("FunctionalAmount", "Functional Amount"),
("ReportingAmount", "Reporting Amount"),
("HeaderText", "JE Description"),
("LineText", "JE Line Description"),
]
}
pub fn synthetic_aliases() -> [(&'static str, &'static str); 13] {
[
("Source", "source"),
("GLAccount", "gl_account"),
("CostCenter", "cost_center"),
("ProfitCenter", "profit_center"),
("TradingPartner", "trading_partner"),
("JENumber", "document_id"),
("JELineNumber", "line_number"),
("EffectiveDate", "posting_date"),
("EntryDate", "document_date"),
("CreatedAt", "created_at"),
("FunctionalAmount", "local_amount"),
("HeaderText", "header_text"),
("LineText", "line_text"),
]
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn gl_source_tp_profile_shape() {
let p = gl_source_tp();
assert_eq!(p.name, "gl-source-tp");
assert_eq!(p.primary_entity, "Source");
assert_eq!(p.secondary_entity.as_deref(), Some("TradingPartner"));
assert_eq!(p.attributes_for_p3.len(), 4);
}
#[test]
fn reference_corpus_aliases_match_observed_columns() {
let aliases = reference_corpus_aliases();
let by_canon: std::collections::HashMap<_, _> = aliases.into_iter().collect();
assert_eq!(by_canon.get("TradingPartner"), Some(&"Tarding Partner"));
assert_eq!(by_canon.get("Source"), Some(&"Source"));
assert_eq!(by_canon.get("EntryDate"), Some(&"Entry Date"));
}
}