using System.Runtime.Versioning; using System.ServiceModel.Channels; using AVEVA.Historian.Client.Wcf; namespace AVEVA.Historian.Client.Tests; [SupportedOSPlatform("windows")] public sealed class WcfBindingFactoryTests { [Fact] public void CreateMdasNetNamedPipeBinding_WrapsTheInnerEncoderInMdas() { Binding binding = HistorianWcfBindingFactory.CreateMdasNetNamedPipeBinding(TimeSpan.FromSeconds(5)); BindingElementCollection elements = binding.CreateBindingElements(); Assert.Contains(elements, e => e is MdasMessageEncodingBindingElement); } [Fact] public void CreateMdasNetNamedPipeBinding_AppliesProvidedTimeout() { TimeSpan timeout = TimeSpan.FromSeconds(7); Binding binding = HistorianWcfBindingFactory.CreateMdasNetNamedPipeBinding(timeout); Assert.Equal(timeout, binding.OpenTimeout); Assert.Equal(timeout, binding.CloseTimeout); Assert.Equal(timeout, binding.SendTimeout); Assert.Equal(timeout, binding.ReceiveTimeout); } [Fact] public void CreatePipeEndpointAddress_BuildsNetPipeUri() { var address = HistorianWcfBindingFactory.CreatePipeEndpointAddress("localhost", "Hist"); Assert.Equal(new Uri("net.pipe://localhost/Hist"), address.Uri); } }