using ZB.MOM.WW.OtOpcUa.Commons.Browsing; namespace ZB.MOM.WW.OtOpcUa.AdminUI.Tests.Browsing; /// Test double for . CanBrowse is driven by a /// predicate (default: never); OpenAsync delegates to a handler or returns a fresh session. internal sealed class FakeUniversalDriverBrowser : IUniversalDriverBrowser { /// CanBrowse gate. Defaults to "no universal affordance for any type". public Func CanBrowsePredicate { get; init; } = (_, _) => false; /// OpenAsync behavior. Defaults to a fresh FakeBrowseSession. public Func> OpenHandler { get; init; } = (_, _, _) => Task.FromResult(new FakeBrowseSession()); public bool CanBrowse(string driverType, string configJson) => CanBrowsePredicate(driverType, configJson); public Task OpenAsync(string driverType, string configJson, CancellationToken ct) => OpenHandler(driverType, configJson, ct); }