using Xunit;

namespace ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests;

/// <summary>
///     RETIRED (v3): this suite characterized follow-up E's <see cref="EquipmentNode"/> projection of an
///     equipment's <c>DriverInstanceId</c> / <c>DeviceId</c> bindings + the resolved <c>DeviceHost</c>
///     (parsed from the bound device's <c>DeviceConfig</c>). In v3 the equipment↔device binding is
///     architecturally removed — <c>Equipment</c> no longer carries <c>DriverInstanceId</c>/<c>DeviceId</c>,
///     <c>AddressSpaceComposer.Compose</c> no longer takes a <c>devices</c> list, and equipment references
///     raw tags via <c>UnsTagReference</c> instead of hosting a device. <c>EquipmentNode</c>'s
///     driver/device/host fields are therefore always null.
///     <para>The coverage did not vanish, it moved: the device-endpoint merge is exercised by
///     <c>Runtime.Tests.Drivers.DeploymentArtifactRawPathTests</c> (nested RawPath + device-endpoint merge),
///     and the host-extraction/normalization unit lives in <c>Commons.Tests.DeviceConfigIntentTests</c>
///     (R2-11). The Skipped placeholder below preserves the retirement rationale in test output.</para>
/// </summary>
public sealed class AddressSpaceComposerDeviceHostTests
{
    [Fact(Skip = DarkAddressSpaceReasons.EquipmentDeviceBindingRetired)]
    public void Compose_resolves_driver_device_and_device_host()
    {
        // Retired: see class summary. Equipment no longer binds a driver/device; the EquipmentNode
        // driver/device/host projection is gone. Coverage moved to DeploymentArtifactRawPathTests
        // (device-endpoint merge) + DeviceConfigIntentTests (host extraction).
    }
}
