| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | using FsCheck;using FsCheck.Xunit;using MediaBrowser.Common.Net;using Xunit;namespace Jellyfin.Networking.Tests{    public static class IPNetAddressTests    {        /// <summary>        /// Checks IP address formats.        /// </summary>        /// <param name="address">IP Address.</param>        [Theory]        [InlineData("127.0.0.1")]        [InlineData("fd23:184f:2029:0:3139:7386:67d7:d517")]        [InlineData("fd23:184f:2029:0:3139:7386:67d7:d517/56")]        [InlineData("[fd23:184f:2029:0:3139:7386:67d7:d517]")]        [InlineData("fe80::7add:12ff:febb:c67b%16")]        [InlineData("[fe80::7add:12ff:febb:c67b%16]:123")]        [InlineData("fe80::7add:12ff:febb:c67b%16:123")]        [InlineData("[fe80::7add:12ff:febb:c67b%16]")]        [InlineData("192.168.1.2/255.255.255.0")]        [InlineData("192.168.1.2/24")]        public static void TryParse_ValidIPStrings_True(string address)            => Assert.True(IPNetAddress.TryParse(address, out _));        [Property]        public static Property TryParse_IPv4Address_True(IPv4Address address)            => IPNetAddress.TryParse(address.Item.ToString(), out _).ToProperty();        [Property]        public static Property TryParse_IPv6Address_True(IPv6Address address)            => IPNetAddress.TryParse(address.Item.ToString(), out _).ToProperty();        /// <summary>        /// All should be invalid address strings.        /// </summary>        /// <param name="address">Invalid address strings.</param>        [Theory]        [InlineData("256.128.0.0.0.1")]        [InlineData("127.0.0.1#")]        [InlineData("localhost!")]        [InlineData("fd23:184f:2029:0:3139:7386:67d7:d517:1231")]        [InlineData("[fd23:184f:2029:0:3139:7386:67d7:d517:1231]")]        public static void TryParse_InvalidAddressString_False(string address)            => Assert.False(IPNetAddress.TryParse(address, out _));    }}
 |