From 6134cf74e224a431ab4298d733eba793e81f4dde Mon Sep 17 00:00:00 2001 From: Ricardo Tondello Date: Thu, 16 Jan 2025 13:00:38 +0100 Subject: [PATCH] upgrade libs --- .../FunctionalStringExtensionsTests.cs | 170 +++++++++--------- .../FunctionalStringExtensionsTests.csproj | 9 +- .../packages.lock.json | 96 ++++------ 3 files changed, 130 insertions(+), 145 deletions(-) diff --git a/tests/FunctionalStringExtensionsTests/FunctionalStringExtensionsTests.cs b/tests/FunctionalStringExtensionsTests/FunctionalStringExtensionsTests.cs index 3031192..01850c4 100644 --- a/tests/FunctionalStringExtensionsTests/FunctionalStringExtensionsTests.cs +++ b/tests/FunctionalStringExtensionsTests/FunctionalStringExtensionsTests.cs @@ -1,5 +1,4 @@ using System.Text.RegularExpressions; -using FluentAssertions; using FunctionalStringExtensions; namespace FunctionalStringExtensionsTests; @@ -15,7 +14,7 @@ public void ShouldReturnDefaultValueWhenStringIsInvalid(string? value) var result = value.OrDefault("abc"); //Assert - result.Should().Be("abc"); + Assert.Equal("abc", result); } [Theory] @@ -26,7 +25,7 @@ public async Task ShouldReturnValueAsyncWhenStringIsValid(string value) var result = await value.OrDefaultAsync(Task.FromResult("abc")); //Assert - result.Should().Be(value); + Assert.Equal(value, result); } [Theory] @@ -38,7 +37,7 @@ public async Task ShouldReturnDefaultValueAsyncWhenStringIsInvalid(string? value var result = await value.OrDefaultAsync(Task.FromResult("abc")); //Assert - result.Should().Be("abc"); + Assert.Equal("abc", result); } [Theory] @@ -49,7 +48,7 @@ public void ShouldReturnValueWhenStringIsValid(string value) var result = value.OrDefault("abc"); //Assert - result.Should().Be(value); + Assert.Equal(value, result); } [Theory] @@ -61,7 +60,7 @@ public void ShouldReturnFuncValueWhenStringIsInvalid(string? value) var result = value.WhenNullOrEmpty(() => "abc"); //Assert - result.Should().Be("abc"); + Assert.Equal("abc", result); } [Theory] @@ -72,7 +71,7 @@ public void ShouldNotReturnFuncWhenStringIsValid(string value) var result = value.WhenNullOrEmpty(() => "abc"); //Assert - result.Should().Be(value); + Assert.Equal(value, result); } [Theory] @@ -84,7 +83,7 @@ public async Task ShouldReturnFuncValueAsyncWhenStringIsInvalid(string? value) var result = await value.WhenNullOrEmptyAsync(() => Task.FromResult("abc")); //Assert - result.Should().Be("abc"); + Assert.Equal("abc", result); } [Theory] @@ -95,7 +94,7 @@ public async Task ShouldNotReturnFuncAsyncWhenStringIsValid(string value) var result = await value.WhenNullOrEmptyAsync(() => Task.FromResult("abc")); //Assert - result.Should().Be(value); + Assert.Equal(value, result); } [Theory] @@ -110,7 +109,7 @@ public void ShouldExecuteActionValueWhenStringIsInvalid(string? value) value.OnNullOrEmpty(Act); //Assert - initValue.Should().BeGreaterThan(0); + Assert.True(initValue > 0); return; void Act() @@ -131,7 +130,7 @@ public async Task ShouldExecuteActionValueAsyncWhenStringIsInvalid(string? value await value.OnNullOrEmptyAsync(Task.Run(() => Act(ref initValue))); //Assert - initValue.Should().BeGreaterThan(0); + Assert.True(initValue > 0); return; void Act(ref int change) @@ -149,62 +148,60 @@ public void ShouldMakeStringAsSlugs(string? text, string expected) { //Arrange Act var result = text.ToSlug(); - + //Assert - result.Should().Be(expected); + Assert.Equal(expected, result); } - + [Fact] public void ToSlugShouldThrowRegexMatchTimeoutExceptionWhenStringIsToLong() { //Arrange var text = string.Concat(Enumerable.Repeat("a", 10_000_000)); - + // Act - Action act = () => text.ToSlug(); - //Assert - act.Should().Throw(); + Assert.Throws(() => text.ToSlug()); } [Fact] public void ToEnumShouldTransformToEnumStruct() { //Arrange - var stringEnum = "Value1"; - + const string stringEnum = "Value1"; + //Act var result = stringEnum.ToEnum(); - + //Assert - result.Should().Be(FakeEnum.Value1); + Assert.Equal(FakeEnum.Value1, result); } - + [Theory] [InlineData(FakeEnum.Value2)] public void ToEnumShouldReturnChosenDefaultValueWhenStringIsInvalid(FakeEnum fakeEnum) { //Arrange - var stringEnum = "Invalid"; - + const string stringEnum = "Invalid"; + //Act var result = stringEnum.ToEnum(fakeEnum); - + //Assert - result.Should().Be(fakeEnum); + Assert.Equal(fakeEnum, result); } - + [Fact] public void ToEnumShouldReturnDefaultValueWhenStringIsInvalid() { //Arrange - var stringEnum = "Invalid"; - + const string stringEnum = "Invalid"; + //Act var result = stringEnum.ToEnum(); - + //Assert - result.Should().Be(FakeEnum.Value1); + Assert.Equal(FakeEnum.Value1, result); } [Theory] @@ -218,11 +215,11 @@ public void OnlyLettersShouldReturnOnlyLetters(string? value, string expected) { //Arrange & Act var result = value.OnlyLetters(); - + //Assert - result.Should().Be(expected); + Assert.Equal(expected, result); } - + [Theory] [InlineData(null, "")] [InlineData("", "")] @@ -235,11 +232,11 @@ public void OnlyNumbersShouldReturnOnlyNumbers(string? value, string expected) { //Arrange & Act var result = value.OnlyNumbers(); - + //Assert - result.Should().Be(expected); + Assert.Equal(expected, result); } - + [Theory] [InlineData(null, "")] [InlineData("", "")] @@ -251,11 +248,11 @@ public void OnlyCharactersAndNumbersShouldReturnOnlyCharactersAndNumbers(string? { //Arrange & Act var result = value.OnlyCharactersAndNumbers(); - + //Assert - result.Should().Be(expected); + Assert.Equal(expected, result); } - + [Theory] [InlineData(null, "")] [InlineData("", "")] @@ -268,9 +265,9 @@ public void OnlySpecialCharactersShouldReturnOnlySpecialCharacters(string? value { //Arrange & Act var result = value.OnlySpecialCharacters(); - + //Assert - result.Should().Be(expected); + Assert.Equal(expected, result); } [Theory] @@ -284,11 +281,11 @@ public void ParseQueryString_ShouldReturnEmptyListWhenNotAValidInput(string? val { var result = value.ParseQueryString(); - result.Should().BeEmpty(); + Assert.Empty(result); } - + [Theory] - [InlineData("http://yoursite.com?variable1=false", "variable1", false)] + [InlineData("http://yoursite.com?variable1=false", "variable1", false)] [InlineData("http://yoursite.com?variable1=False", "variable1", false)] [InlineData("http://yoursite.com?variable1=1", "variable1", 1)] [InlineData("http://yoursite.com?variable1=19.86", "variable1", 19.86)] @@ -297,19 +294,23 @@ public void ParseQueryString_ShouldReturnEmptyListWhenNotAValidInput(string? val [InlineData("?variable1=1", "variable1", 1)] [InlineData("?variable1=0.77", "variable1", 0.77)] [InlineData("?variable1=test", "variable1", "test")] - public void ParseQueryString_ConvertType_ShouldReturnListOfKeyValues(string? value, string expectedKey, object expectedValue) + public void ParseQueryString_ConvertType_ShouldReturnListOfKeyValues(string? value, string expectedKey, + object expectedValue) { var result = value.ParseQueryString(autoConvertType: true); - result.Should().NotBeEmpty(); - result.Should().HaveCount(1); - result.First().Key.Should().Be(expectedKey); - result.First().Value.Should().Be(expectedValue); - result.First().Value.Should().BeOfType(expectedValue.GetType()); + Assert.NotEmpty(result); + Assert.Single(result); + Assert.Equal(expectedKey, result.First() + .Key); + Assert.Equal(expectedValue, result.First() + .Value); + Assert.IsType(expectedValue.GetType(), result.First() + .Value); } - + [Theory] - [InlineData("http://yoursite.com?variable1=false", "variable1", "false")] + [InlineData("http://yoursite.com?variable1=false", "variable1", "false")] [InlineData("http://yoursite.com?variable1=False", "variable1", "False")] [InlineData("http://yoursite.com?variable1=1", "variable1", "1")] [InlineData("http://yoursite.com?variable1=19.86", "variable1", "19.86")] @@ -318,50 +319,57 @@ public void ParseQueryString_ConvertType_ShouldReturnListOfKeyValues(string? val [InlineData("?variable1=1", "variable1", "1")] [InlineData("?variable1=0.77", "variable1", "0.77")] [InlineData("?variable1=test", "variable1", "test")] - public void ParseQueryString_WithoutConversion_ShouldReturnListOfKeyValues(string? value, string expectedKey, string expectedValue) + public void ParseQueryString_WithoutConversion_ShouldReturnListOfKeyValues(string? value, string expectedKey, + string expectedValue) { var result = value.ParseQueryString(autoConvertType: false); - result.Should().NotBeEmpty(); - result.Should().HaveCount(1); - result.First().Key.Should().Be(expectedKey); - result.First().Value.Should().Be(expectedValue); - result.First().Value.Should().BeOfType(); + Assert.NotEmpty(result); + Assert.Single(result); + Assert.Equal(expectedKey, result.First() + .Key); + Assert.Equal(expectedValue, result.First() + .Value); + Assert.IsType(result.First() + .Value); } - + [Theory] - [InlineData("?variable1=15&variable2=is that a question?&variable3=true&variable4=33.88&variable5=", "variable1=15|variable2=is that a question?|variable3=true|variable4=33.88|variable5=")] + [InlineData("?variable1=15&variable2=is that a question?&variable3=true&variable4=33.88&variable5=", + "variable1=15|variable2=is that a question?|variable3=true|variable4=33.88|variable5=")] public void ParseQueryString_ShouldReturnListOfKeyValues(string? value, string expectedPipedString) { - var result = value.ParseQueryString(autoConvertType: false); - - var expected = expectedPipedString - .Split('|', StringSplitOptions.RemoveEmptyEntries) - .Select(s => s.Split('=')) - .ToDictionary(k => k[0], v => v[1]); - - result.Should().NotBeEmpty(); - result.Should().BeEquivalentTo(expected); + var result = value.ParseQueryString(autoConvertType: false); + + var expected = expectedPipedString.Split('|', StringSplitOptions.RemoveEmptyEntries) + .Select(s => s.Split('=')) + .ToDictionary(k => k[0], v => v[1]); + + Assert.NotEmpty(result); + Assert.Equivalent(expected, result); } - + [Theory] [InlineData("?not a valid url", "not a valid url=")] [InlineData("?not a valid url&&&&&", "not a valid url=")] [InlineData("?not a valid url&&&&&=value", "not a valid url=|=value")] [InlineData(" ?not a valid url&&&&&=value ", "not a valid url=|=value ")] - [InlineData("variable1=15&variable2=is that a question?&variable3=true&variable4=33.88&variable5=", "variable3=true|variable4=33.88|variable5=")] - + [InlineData("variable1=15&variable2=is that a question?&variable3=true&variable4=33.88&variable5=", + "variable3=true|variable4=33.88|variable5=")] public void ParseQueryString_EdgeCasesShouldReturnListOfKeyValues(string? value, string expectedPipedString) { var result = value.ParseQueryString(autoConvertType: false); - - var expected = expectedPipedString - .Split('|') + + var expected = expectedPipedString.Split('|') .Select(s => s.Split('=')) - .ToDictionary(k => k.Length > 0? k[0] : string.Empty, v => v.Length > 1 ? v[1]: string.Empty); - - result.Should().NotBeEmpty(); - result.Should().BeEquivalentTo(expected); + .ToDictionary(k => k.Length > 0 + ? k[0] + : string.Empty, v => v.Length > 1 + ? v[1] + : string.Empty); + + Assert.NotEmpty(result); + Assert.Equivalent(expected, result); } } diff --git a/tests/FunctionalStringExtensionsTests/FunctionalStringExtensionsTests.csproj b/tests/FunctionalStringExtensionsTests/FunctionalStringExtensionsTests.csproj index 9640daf..7d0dc37 100644 --- a/tests/FunctionalStringExtensionsTests/FunctionalStringExtensionsTests.csproj +++ b/tests/FunctionalStringExtensionsTests/FunctionalStringExtensionsTests.csproj @@ -10,18 +10,17 @@ - all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/tests/FunctionalStringExtensionsTests/packages.lock.json b/tests/FunctionalStringExtensionsTests/packages.lock.json index 9ef8cf6..9176b13 100644 --- a/tests/FunctionalStringExtensionsTests/packages.lock.json +++ b/tests/FunctionalStringExtensionsTests/packages.lock.json @@ -4,18 +4,9 @@ "net8.0": { "coverlet.collector": { "type": "Direct", - "requested": "[6.0.2, )", - "resolved": "6.0.2", - "contentHash": "bJShQ6uWRTQ100ZeyiMqcFlhP7WJ+bCuabUs885dJiBEzMsJMSFr7BOyeCw4rgvQokteGi5rKQTlkhfQPUXg2A==" - }, - "FluentAssertions": { - "type": "Direct", - "requested": "[6.12.1, )", - "resolved": "6.12.1", - "contentHash": "hciWwryyLw3eonfqhFpOMTXyM1/auJChYslEBA+iGJyuBs5O3t/kA8YaeH4iRo/2Fe3ElSYL86C0miivtZ0f3g==", - "dependencies": { - "System.Configuration.ConfigurationManager": "4.4.0" - } + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "SvLbRq7gjzE34BI90vP6ge812+PAjinNoKhdFZHwVEu/ozJgZY+0KyDh1K0teDeMeuzQJuF8OvleRBYXsZDz0A==" }, "GitHubActionsTestLogger": { "type": "Direct", @@ -28,50 +19,50 @@ }, "Microsoft.NET.Test.Sdk": { "type": "Direct", - "requested": "[17.11.1, )", - "resolved": "17.11.1", - "contentHash": "U3Ty4BaGoEu+T2bwSko9tWqWUOU16WzSFkq6U8zve75oRBMSLTBdMAZrVNNz1Tq12aCdDom9fcOcM9QZaFHqFg==", + "requested": "[17.12.0, )", + "resolved": "17.12.0", + "contentHash": "kt/PKBZ91rFCWxVIJZSgVLk+YR+4KxTuHf799ho8WNiK5ZQpJNAEZCAWX86vcKrs+DiYjiibpYKdGZP6+/N17w==", "dependencies": { - "Microsoft.CodeCoverage": "17.11.1", - "Microsoft.TestPlatform.TestHost": "17.11.1" + "Microsoft.CodeCoverage": "17.12.0", + "Microsoft.TestPlatform.TestHost": "17.12.0" } }, "xunit": { "type": "Direct", - "requested": "[2.9.1, )", - "resolved": "2.9.1", - "contentHash": "db2l1I1Tde7OivowgxoxKgmqFl02KoOjFOQhV1FSVu+odTIntjhQhMwKIVvyWjBO6t7tS0PnFxblwSqeUuRZMQ==", + "requested": "[2.9.3, )", + "resolved": "2.9.3", + "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==", "dependencies": { - "xunit.analyzers": "1.16.0", - "xunit.assert": "2.9.1", - "xunit.core": "[2.9.1]" + "xunit.analyzers": "1.18.0", + "xunit.assert": "2.9.3", + "xunit.core": "[2.9.3]" } }, "xunit.runner.visualstudio": { "type": "Direct", - "requested": "[2.8.2, )", - "resolved": "2.8.2", - "contentHash": "vm1tbfXhFmjFMUmS4M0J0ASXz3/U5XvXBa6DOQUL3fEz4Vt6YPhv+ESCarx6M6D+9kJkJYZKCNvJMas1+nVfmQ==" + "requested": "[3.0.1, )", + "resolved": "3.0.1", + "contentHash": "lbyYtsBxA8Pz8kaf5Xn/Mj1mL9z2nlBWdZhqFaj66nxXBa4JwiTDm4eGcpSMet6du9TOWI6bfha+gQR6+IHawg==" }, "Microsoft.CodeCoverage": { "type": "Transitive", - "resolved": "17.11.1", - "contentHash": "nPJqrcA5iX+Y0kqoT3a+pD/8lrW/V7ayqnEJQsTonSoPz59J8bmoQhcSN4G8+UJ64Hkuf0zuxnfuj2lkHOq4cA==" + "resolved": "17.12.0", + "contentHash": "4svMznBd5JM21JIG2xZKGNanAHNXplxf/kQDFfLHXQ3OnpJkayRK/TjacFjA+EYmoyuNXHo/sOETEfcYtAzIrA==" }, "Microsoft.TestPlatform.ObjectModel": { "type": "Transitive", - "resolved": "17.11.1", - "contentHash": "E2jZqAU6JeWEVsyOEOrSW1o1bpHLgb25ypvKNB/moBXPVsFYBPd/Jwi7OrYahG50J83LfHzezYI+GaEkpAotiA==", + "resolved": "17.12.0", + "contentHash": "TDqkTKLfQuAaPcEb3pDDWnh7b3SyZF+/W9OZvWFp6eJCIiiYFdSB6taE2I6tWrFw5ywhzOb6sreoGJTI6m3rSQ==", "dependencies": { "System.Reflection.Metadata": "1.6.0" } }, "Microsoft.TestPlatform.TestHost": { "type": "Transitive", - "resolved": "17.11.1", - "contentHash": "DnG+GOqJXO/CkoqlJWeDFTgPhqD/V6VqUIL3vINizCWZ3X+HshCtbbyDdSHQQEjrc2Sl/K3yaxX6s+5LFEdYuw==", + "resolved": "17.12.0", + "contentHash": "MiPEJQNyADfwZ4pJNpQex+t9/jOClBGMiCiVVFuELCMSX2nmNfvUor3uFVxNNCg30uxDP8JDYfPnMXQzsfzYyg==", "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "17.11.1", + "Microsoft.TestPlatform.ObjectModel": "17.12.0", "Newtonsoft.Json": "13.0.1" } }, @@ -80,24 +71,11 @@ "resolved": "13.0.1", "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" }, - "System.Configuration.ConfigurationManager": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "gWwQv/Ug1qWJmHCmN17nAbxJYmQBM/E94QxKLksvUiiKB1Ld3Sc/eK1lgmbSjDFxkQhVuayI/cGFZhpBSodLrg==", - "dependencies": { - "System.Security.Cryptography.ProtectedData": "4.4.0" - } - }, "System.Reflection.Metadata": { "type": "Transitive", "resolved": "1.6.0", "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "cJV7ScGW7EhatRsjehfvvYVBvtiSMKgN8bOVI0bQhnF5bU7vnHVIsH49Kva7i7GWaWYvmEzkYVk1TC+gZYBEog==" - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -105,37 +83,37 @@ }, "xunit.analyzers": { "type": "Transitive", - "resolved": "1.16.0", - "contentHash": "hptYM7vGr46GUIgZt21YHO4rfuBAQS2eINbFo16CV/Dqq+24Tp+P5gDCACu1AbFfW4Sp/WRfDPSK8fmUUb8s0Q==" + "resolved": "1.18.0", + "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ==" }, "xunit.assert": { "type": "Transitive", - "resolved": "2.9.1", - "contentHash": "Pb7x7MPfFgwRt88sJGbct/h7cc0wyxFHPhA2X0P8mUdPyrOTLN7QgsxX8ZFkJKm+Yj8YMKYOCzXtRWOGlMYjZw==" + "resolved": "2.9.3", + "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA==" }, "xunit.core": { "type": "Transitive", - "resolved": "2.9.1", - "contentHash": "39DvKrtALB6DknhJrhTIwKF5wwuWqohGT0tEJnOstT2NfoDbvVKFv/hlgM6hH2ghUsxOhP0gHmj7HOR4D21fow==", + "resolved": "2.9.3", + "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==", "dependencies": { - "xunit.extensibility.core": "[2.9.1]", - "xunit.extensibility.execution": "[2.9.1]" + "xunit.extensibility.core": "[2.9.3]", + "xunit.extensibility.execution": "[2.9.3]" } }, "xunit.extensibility.core": { "type": "Transitive", - "resolved": "2.9.1", - "contentHash": "lAsb+57Lk2gA/LW/IzlGlq0vyx5AgLtadJyGBUaS353HJT++qKdMlYi74pWgai7RLTnkV4ayownPredKe8REZQ==", + "resolved": "2.9.3", + "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==", "dependencies": { "xunit.abstractions": "2.0.3" } }, "xunit.extensibility.execution": { "type": "Transitive", - "resolved": "2.9.1", - "contentHash": "KJ2LE0lOaN2wxtwwfM9nii218nzmxwMAqpolQJ0ZoLtZQ3gfJ1XtbEywGOCGZf9zBe9pPBEILqQaUO04lnekvQ==", + "resolved": "2.9.3", + "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==", "dependencies": { - "xunit.extensibility.core": "[2.9.1]" + "xunit.extensibility.core": "[2.9.3]" } }, "functionalstringextensions": {