namespace ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests;
///
/// Shared xUnit Skip reason constants for OpcUaServer tests whose subject was RETIRED by v3
/// rather than merely deferred — architectural tombstones that keep the removed coverage discoverable
/// and name what replaced it, so nobody re-writes a test for a concept that no longer exists.
/// A skip reason is a claim with an expiry date. The one this file used to carry
/// (EquipmentTagsDarkBatch4, "dark until Batch 4") outlived its own condition by a release —
/// see the note below. If you add one here, state the condition precisely enough that a reader can
/// check whether it has already happened.
/// Mirrors Runtime.Tests.Drivers.DarkAddressSpaceReasons.
///
internal static class DarkAddressSpaceReasons
{
// EquipmentTagsDarkBatch4 was RETIRED (2026-07-28) once its own unblock condition was examined. It read
// "dark until Batch 4"; Batch 4 shipped as v3.0 and RETIRED the equipment-tag plan set rather than
// lighting it, so every test wearing this reason was waiting on something that had already happened and
// gone the other way. Each was resolved on its merits rather than left to read as pending work:
// - revived onto the raw/UNS shape that replaced the subject (the real-SDK dual-namespace
// materialisation E2E in AddressSpaceApplierHierarchyTests; the cluster-scoping rebuild and the
// four primary-gate write/alarm cases in Runtime.Tests),
// - folded into a live parity test whose corpus was widened to cover them (array + native-alarm
// intent, now in DeploymentArtifactRawUnsParityTests),
// - or deleted, where the subject itself is retired (equipment-namespace EquipmentTags, the
// dot-joint {{equip}}.X token — superseded by the slash-joint form in
// DeploymentArtifactEquipRefParityTests).
/// Equipment↔device host binding is architecturally retired in v3.
public const string EquipmentDeviceBindingRetired =
"v3: equipment no longer binds a driver/device — Equipment lost DriverInstanceId/DeviceId and " +
"Compose no longer takes a devices list, so EquipmentNode's DriverInstanceId/DeviceId/DeviceHost " +
"projection is always null. Equipment references raw tags via UnsTagReference. The device-endpoint " +
"merge this suite characterized now lives in Runtime.Tests DeploymentArtifactRawPathTests; the " +
"host-extraction unit is Commons.Tests DeviceConfigIntentTests.";
}