use crate::id::{ConceptId, RefsetId, Sctid};
pub const IS_A: ConceptId = ConceptId::published(116_680_003);
pub const FULLY_SPECIFIED_NAME: ConceptId = ConceptId::published(900_000_000_000_003_001);
pub const SYNONYM: ConceptId = ConceptId::published(900_000_000_000_013_009);
pub const DEFINITION: ConceptId = ConceptId::published(900_000_000_000_550_004);
pub const PREFERRED: ConceptId = ConceptId::published(900_000_000_000_548_007);
pub const ACCEPTABLE: ConceptId = ConceptId::published(900_000_000_000_549_004);
pub const PRIMITIVE: ConceptId = ConceptId::published(900_000_000_000_074_008);
pub const DEFINED: ConceptId = ConceptId::published(900_000_000_000_073_002);
pub const INFERRED: ConceptId = ConceptId::published(900_000_000_000_011_006);
pub const STATED: ConceptId = ConceptId::published(900_000_000_000_010_007);
pub const ADDITIONAL: ConceptId = ConceptId::published(900_000_000_000_227_009);
pub const CORE_MODULE: ConceptId = ConceptId::published(900_000_000_000_207_008);
pub const MODEL_COMPONENT_MODULE: ConceptId = ConceptId::published(900_000_000_000_012_004);
pub const MODULE_DEPENDENCY_REFSET: RefsetId = RefsetId::published(900_000_000_000_534_007);
pub const REFSET_DESCRIPTOR_REFSET: RefsetId = RefsetId::published(900_000_000_000_456_007);
pub const OWL_AXIOM_REFSET: RefsetId = RefsetId::published(733_073_007);
pub const GB_ENGLISH_LANGUAGE_REFSET: RefsetId = RefsetId::published(900_000_000_000_508_004);
pub const US_ENGLISH_LANGUAGE_REFSET: RefsetId = RefsetId::published(900_000_000_000_509_007);
pub mod attribute_type {
use crate::id::ConceptId;
pub const COMPONENT: ConceptId = ConceptId::published(900_000_000_000_460_005);
pub const CONCEPT: ConceptId = ConceptId::published(900_000_000_000_461_009);
pub const DESCRIPTION: ConceptId = ConceptId::published(900_000_000_000_462_002);
pub const RELATIONSHIP: ConceptId = ConceptId::published(900_000_000_000_463_007);
pub const MEMBER: ConceptId = ConceptId::published(900_000_000_000_464_001);
pub const STRING: ConceptId = ConceptId::published(900_000_000_000_465_000);
pub const TEXT: ConceptId = ConceptId::published(900_000_000_000_466_004);
pub const URL: ConceptId = ConceptId::published(900_000_000_000_469_006);
pub const UUID: ConceptId = ConceptId::published(900_000_000_000_474_003);
pub const TIME: ConceptId = ConceptId::published(900_000_000_000_475_002);
pub const INTEGER: ConceptId = ConceptId::published(900_000_000_000_476_001);
pub const SIGNED_INTEGER: ConceptId = ConceptId::published(900_000_000_000_477_005);
pub const UNSIGNED_INTEGER: ConceptId = ConceptId::published(900_000_000_000_478_000);
}
#[must_use]
pub fn all() -> Vec<Sctid> {
vec![
IS_A.sctid(),
FULLY_SPECIFIED_NAME.sctid(),
SYNONYM.sctid(),
DEFINITION.sctid(),
PREFERRED.sctid(),
ACCEPTABLE.sctid(),
PRIMITIVE.sctid(),
DEFINED.sctid(),
INFERRED.sctid(),
STATED.sctid(),
ADDITIONAL.sctid(),
CORE_MODULE.sctid(),
MODEL_COMPONENT_MODULE.sctid(),
MODULE_DEPENDENCY_REFSET.concept().sctid(),
REFSET_DESCRIPTOR_REFSET.concept().sctid(),
OWL_AXIOM_REFSET.concept().sctid(),
GB_ENGLISH_LANGUAGE_REFSET.concept().sctid(),
US_ENGLISH_LANGUAGE_REFSET.concept().sctid(),
attribute_type::COMPONENT.sctid(),
attribute_type::CONCEPT.sctid(),
attribute_type::DESCRIPTION.sctid(),
attribute_type::RELATIONSHIP.sctid(),
attribute_type::MEMBER.sctid(),
attribute_type::STRING.sctid(),
attribute_type::TEXT.sctid(),
attribute_type::URL.sctid(),
attribute_type::UUID.sctid(),
attribute_type::TIME.sctid(),
attribute_type::INTEGER.sctid(),
attribute_type::SIGNED_INTEGER.sctid(),
attribute_type::UNSIGNED_INTEGER.sctid(),
]
}
#[cfg(test)]
mod tests {
use super::attribute_type;
use crate::id::{Partition, Sctid};
#[test]
fn every_published_constant_is_a_valid_concept_identifier() {
for id in super::all() {
let parsed = Sctid::parse(&id.to_string()).expect("published SCTIDs validate");
assert_eq!(parsed, id);
assert_eq!(parsed.partition(), Ok(Partition::Concept));
}
}
#[test]
fn the_attribute_types_are_the_published_values() {
assert_eq!(attribute_type::CONCEPT.value(), 900_000_000_000_461_009);
assert_eq!(attribute_type::STRING.value(), 900_000_000_000_465_000);
assert_eq!(attribute_type::TEXT.value(), 900_000_000_000_466_004);
assert_eq!(attribute_type::URL.value(), 900_000_000_000_469_006);
assert_eq!(attribute_type::UUID.value(), 900_000_000_000_474_003);
assert_eq!(attribute_type::TIME.value(), 900_000_000_000_475_002);
assert_eq!(attribute_type::INTEGER.value(), 900_000_000_000_476_001);
assert_eq!(
attribute_type::SIGNED_INTEGER.value(),
900_000_000_000_477_005
);
assert_eq!(
attribute_type::UNSIGNED_INTEGER.value(),
900_000_000_000_478_000
);
}
}