diff options
| author | Claus Vium <cvium@users.noreply.github.com> | 2021-06-07 09:46:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-07 09:46:46 +0200 |
| commit | 1c6bf16d155b13ecd3ed78c14b1a682b3a9d5d3c (patch) | |
| tree | 166283bd9dc5ee008f55b8fe5c2e184d89a916c9 /tests/Jellyfin.Networking.Tests/IPNetAddressTests.cs | |
| parent | b8f5a14384e1c746e80d39517a87a4e65c5c1126 (diff) | |
| parent | ce434ebc7a564ce0fc07f9a2b5f16c0ca3da404f (diff) | |
Merge pull request #6150 from Bond-009/proptest
Diffstat (limited to 'tests/Jellyfin.Networking.Tests/IPNetAddressTests.cs')
| -rw-r--r-- | tests/Jellyfin.Networking.Tests/IPNetAddressTests.cs | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/Jellyfin.Networking.Tests/IPNetAddressTests.cs b/tests/Jellyfin.Networking.Tests/IPNetAddressTests.cs new file mode 100644 index 000000000..aa2dbc57a --- /dev/null +++ b/tests/Jellyfin.Networking.Tests/IPNetAddressTests.cs @@ -0,0 +1,49 @@ +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 _)); + } +} |
