diff options
| author | BaronGreenback <jimcartlidge@yahoo.co.uk> | 2021-06-19 15:04:30 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-19 15:04:30 +0100 |
| commit | 6648b7d7dabeaa84835fc7a8a7a2a468a00cad5c (patch) | |
| tree | 4b3eeee4f10f5465eaee0110aa18452dab2f9f6d /tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs | |
| parent | 97c2c523a89dabead25b5b0d028acbd92d136660 (diff) | |
| parent | 0c3dcdf77b0d124517bffa608bfddf7d8f7682db (diff) | |
Merge branch 'master' into comparisons
Diffstat (limited to 'tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs')
| -rw-r--r-- | tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs b/tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs index 5864a0509..0a4e060df 100644 --- a/tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs +++ b/tests/Jellyfin.Model.Tests/Extensions/StringHelperTests.cs @@ -1,3 +1,6 @@ +using System; +using FsCheck; +using FsCheck.Xunit; using MediaBrowser.Model.Extensions; using Xunit; @@ -10,9 +13,20 @@ namespace Jellyfin.Model.Tests.Extensions [InlineData("banana", "Banana")] [InlineData("Banana", "Banana")] [InlineData("ä", "Ä")] + [InlineData("\027", "\027")] public void StringHelper_ValidArgs_Success(string input, string expectedResult) { Assert.Equal(expectedResult, StringHelper.FirstToUpper(input)); } + + [Property] + public Property FirstToUpper_RandomArg_Correct(NonEmptyString input) + { + var result = StringHelper.FirstToUpper(input.Item); + + // We check IsLower instead of IsUpper because both return false for non-letters + return (!char.IsLower(result[0])).Label("First char is uppercase") + .And(input.Item.Length == 1 || result[1..].Equals(input.Item[1..], StringComparison.Ordinal)).Label("Remaining chars are unmodified"); + } } } |
