Skip to main content

Module completeness

Module completeness 

Source
Expand description

Prove a hand-written entity inventory is complete against the normative EXPRESS schema.

§Why this exists

Several crates publish a const list describing itself as the complete inventory for one IFC schema, and assert its own length in a test. That gate cannot fail: trimming the list trims the expectation with it. The material inventory was short one entity for exactly this reason.

§What this checks

An inventory declares the roots it covers. Every entity the schema declares as a descendant of those roots must appear in the inventory. The schema supplies the expectation, so deleting a name makes the check fail rather than lowering the bar.

This proves the inventory names every entity. It does not prove the crate implements them; that is the job of each crate behaviour tests.

Structs§

InventoryGap
What an inventory got wrong, in schema terms.

Functions§

audit_inventory
Compare a published inventory against what the schema declares.
descendants_of
Every entity the schema declares at or below roots, upper-cased.