namespace ZB.MOM.WW.OtOpcUa.Runtime.Tests.Drivers; /// /// Shared xUnit Skip reason constants for tests whose intent is retained but whose subject is /// not materialized in the v3 Batch-1 DARK address space. Equipment-tag variable nodes (and their /// per-field intent: FullName / array / historize / native-alarm) are lit up by the Batch-4 dual /// namespace + UNS↔Raw fan-out; until then the composer/artifact both emit an EMPTY equipment-tag /// plan set, so any parity assertion over those plans has nothing to compare. The raw-tag parse /// intent these tests characterized lives on in (RawTagEntry /// round-trip) and TagConfigIntentTests (the parse unit). /// internal static class DarkAddressSpaceReasons { /// Equipment-tag variable materialization + its per-field intent is dark until Batch 4. public const string EquipmentTagsDarkBatch4 = "v3 dark address space: equipment-tag variable plans (FullName/array/historize/alarm) do not " + "materialize until Batch 4 (dual-namespace UNS↔Raw fan-out). The composer + artifact both emit an " + "empty equipment-tag plan set this batch, so this parity has nothing to compare. Raw-tag parse " + "intent is covered by TagConfigCorpusParityTests (RawTagEntry round-trip) + TagConfigIntentTests."; /// Discovered-node INJECTION is dormant in v3 (Wave-B review M1). The v2 path grafted a driver's /// FixedTree under an equipment folder (equipment bound a driver); v3 retired that binding and discovered /// raw tags are authored explicitly via the Batch-2 /raw browse-commit flow. HandleDiscoveredNodes /// hard-short-circuits, so these v2 injection scenarios have no live path to assert; re-migrating injection /// onto the raw device subtree is a separate follow-up. The dormant guard itself is pinned by /// DriverHostActorDiscoveryTests.Discovered_nodes_are_ignored_dormant_in_v3. public const string DiscoveryInjectionDormantV3 = "v3: discovered-node injection is DORMANT (Wave-B review M1) — equipment no longer binds a driver, so the " + "v2 FixedTree-under-equipment graft has no live path. Discovered raw tags are authored via the /raw " + "browse-commit flow. HandleDiscoveredNodes short-circuits (pinned by Discovered_nodes_are_ignored_dormant_in_v3); " + "re-migrating injection onto the raw device subtree is a separate follow-up."; /// Equipment↔device host binding is architecturally retired in v3. public const string EquipmentDeviceBindingRetired = "v3: equipment no longer binds a driver/device (EquipmentNode has no DriverInstanceId/DeviceId/" + "DeviceHost) — equipment references raw tags via UnsTagReference. The device-endpoint merge this " + "test characterized is now covered by DeploymentArtifactRawPathTests " + "(ParseDriverInstances_computes_nested_RawPath_and_merges_device_endpoint)."; }