using Xunit; namespace ZB.MOM.WW.OtOpcUa.Runtime.Tests.Drivers; /// /// Galaxy-as-ordinary-equipment-tag byte-parity: a Galaxy point (equipment-scoped tag bound to a /// GalaxyMxGateway driver) surfaced into EquipmentTags with the same FullName / /// EquipmentId / DriverInstanceId / AccessLevel→Writable / native-alarm intent on both the composer /// and the artifact-decode seam. /// /// v3 DARK (Batch 1): equipment-tag variable plans do not materialize — both producers emit an /// EMPTY EquipmentTags set until the Batch-4 dual-namespace UNS↔Raw fan-out. Additionally, the /// v3 schema retired the Namespace/NamespaceKind entities and the Galaxy /// ExplicitFullName / namespace-Kind gate this test keyed off; Galaxy is an ordinary /// Device-bound driver whose raw tags reach the UNS via UnsTagReference. The AccessLevel→Writable /// and native-alarm parse this asserted are covered at the parse unit (TagConfigIntentTests) and /// the RawTagEntry round-trip (). Unskip + rewrite to the /// Batch-4 UNS-projection shape when equipment-tag plans light up. /// /// public sealed class DeploymentArtifactAliasParityTests { /// Batch-4 pending: composer and artifact agree on a Galaxy equipment tag surfaced in /// EquipmentTags (FullName + Writable + native alarm). See class remarks — dark this batch. [Fact(Skip = DarkAddressSpaceReasons.EquipmentTagsDarkBatch4)] public void Composer_and_artifact_agree_on_galaxy_equipment_tag() { // Restored + rewritten to the Batch-4 UNS-projection shape when equipment-tag variable plans // materialize: assert a Galaxy point + a Modbus point round-trip identically (FullName, Writable // from AccessLevel, native-alarm intent incl. historizeToAveva) across composer and artifact. } }