using Shouldly;
using Xunit;
using ZB.MOM.WW.OtOpcUa.Core.Abstractions;
using ZB.MOM.WW.OtOpcUa.Driver.TwinCAT;

namespace ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Tests;

[Trait("Category", "Unit")]
public sealed class TwinCATDiscoveryGateTests
{
    /// <summary>TwinCAT opts into the universal discovery browser — its ADS symbol upload is real
    /// device enumeration (config-gated on EnableControllerBrowse, guaranteed by PatchForBrowse at open).</summary>
    [Fact]
    public void SupportsOnlineDiscovery_IsTrue()
    {
        var drv = new TwinCATDriver(new TwinCATDriverOptions(), "drv-1");
        ((ITagDiscovery)drv).SupportsOnlineDiscovery.ShouldBeTrue();
    }
}
