diff --git a/Directory.Build.props b/Directory.Build.props index 6e47d654..06b708d8 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -42,9 +42,9 @@ - + - + \ No newline at end of file diff --git a/sample/Demo.Atc.Console.Spectre.Cli/Demo.Atc.Console.Spectre.Cli.csproj b/sample/Demo.Atc.Console.Spectre.Cli/Demo.Atc.Console.Spectre.Cli.csproj index d21ea322..213a83a1 100644 --- a/sample/Demo.Atc.Console.Spectre.Cli/Demo.Atc.Console.Spectre.Cli.csproj +++ b/sample/Demo.Atc.Console.Spectre.Cli/Demo.Atc.Console.Spectre.Cli.csproj @@ -8,9 +8,9 @@ - - - + + + diff --git a/sample/Demo.Atc.Dotnet.Cli/Demo.Atc.Dotnet.Cli.csproj b/sample/Demo.Atc.Dotnet.Cli/Demo.Atc.Dotnet.Cli.csproj index 295b5989..4a0a506b 100644 --- a/sample/Demo.Atc.Dotnet.Cli/Demo.Atc.Dotnet.Cli.csproj +++ b/sample/Demo.Atc.Dotnet.Cli/Demo.Atc.Dotnet.Cli.csproj @@ -8,9 +8,9 @@ - - - + + + diff --git a/src/Atc.Console.Spectre/Atc.Console.Spectre.csproj b/src/Atc.Console.Spectre/Atc.Console.Spectre.csproj index b0185546..1e249f5b 100644 --- a/src/Atc.Console.Spectre/Atc.Console.Spectre.csproj +++ b/src/Atc.Console.Spectre/Atc.Console.Spectre.csproj @@ -9,7 +9,7 @@ - + diff --git a/src/Atc.DotNet/DotnetCsProjFileHelper.cs b/src/Atc.DotNet/DotnetCsProjFileHelper.cs index 89d0a913..227c9942 100644 --- a/src/Atc.DotNet/DotnetCsProjFileHelper.cs +++ b/src/Atc.DotNet/DotnetCsProjFileHelper.cs @@ -178,24 +178,25 @@ public static DotnetProjectType GetProjectType(string fileContent) private static DotnetProjectType ProjectSdkElement(XElement rootElement) { - if (rootElement.FirstAttribute is not null) + var sdk = GetSdk(rootElement); + if (sdk is not null) { - if (rootElement.FirstAttribute.Value.StartsWith("Aspire.AppHost.Sdk", StringComparison.OrdinalIgnoreCase)) + if (sdk.StartsWith("Aspire.AppHost.Sdk", StringComparison.OrdinalIgnoreCase)) { return DotnetProjectType.AspireAppHost; } - if (rootElement.FirstAttribute.Value.Equals("Microsoft.NET.Sdk.BlazorWebAssembly", StringComparison.Ordinal)) + if (sdk.Equals("Microsoft.NET.Sdk.BlazorWebAssembly", StringComparison.Ordinal)) { return DotnetProjectType.BlazorWAsmApp; } - if (rootElement.FirstAttribute.Value.Equals("Microsoft.NET.Sdk.Razor", StringComparison.Ordinal)) + if (sdk.Equals("Microsoft.NET.Sdk.Razor", StringComparison.Ordinal)) { return DotnetProjectType.RazorLibrary; } - if (rootElement.FirstAttribute.Value.Equals("Microsoft.NET.Sdk.Worker", StringComparison.Ordinal)) + if (sdk.Equals("Microsoft.NET.Sdk.Worker", StringComparison.Ordinal)) { return DotnetProjectType.WorkerService; } @@ -224,8 +225,7 @@ private static DotnetProjectType ProjectSdkElement(XElement rootElement) private static DotnetProjectType ProjectElementForSdk(XElement rootElement) { - if (rootElement.FirstAttribute is not null && - !rootElement.FirstAttribute.Value.Equals("Microsoft.NET.Sdk", StringComparison.Ordinal)) + if (!IsSdk(rootElement, "Microsoft.NET.Sdk")) { return DotnetProjectType.None; } @@ -285,8 +285,7 @@ private static DotnetProjectType ProjectElementForSdk(XElement rootElement) private static DotnetProjectType ProjectElementForSdkTest( XElement rootElement) { - if (rootElement.FirstAttribute is not null && - !rootElement.FirstAttribute.Value.Equals("Microsoft.NET.Sdk", StringComparison.Ordinal)) + if (!IsSdk(rootElement, "Microsoft.NET.Sdk")) { return DotnetProjectType.None; } @@ -317,8 +316,7 @@ private static DotnetProjectType ProjectElementForSdkTest( private static DotnetProjectType ProjectElementForSdkWeb( XElement rootElement) { - if (rootElement.FirstAttribute is not null && - !rootElement.FirstAttribute.Value.Equals("Microsoft.NET.Sdk.Web", StringComparison.Ordinal)) + if (!IsSdk(rootElement, "Microsoft.NET.Sdk.Web")) { return DotnetProjectType.None; } @@ -367,6 +365,24 @@ private static DotnetProjectType ProjectElementForToolsVersion( return DotnetProjectType.None; } + /// + /// Reads the Sdk attribute of the project element. The attribute is looked up by name + /// instead of using , since any other attribute - an + /// xmlns declaration included - can be written ahead of it. + /// + private static string? GetSdk(XElement rootElement) + => rootElement.Attribute("Sdk")?.Value; + + private static bool IsSdk( + XElement rootElement, + string sdk) + { + var value = GetSdk(rootElement); + + return value is null || + value.Equals(sdk, StringComparison.Ordinal); + } + private static bool HasPackageReference( XElement rootElement, string packageReference) diff --git a/src/Atc.DotNet/DotnetNugetHelper.cs b/src/Atc.DotNet/DotnetNugetHelper.cs index 05523f7e..ee38aea8 100644 --- a/src/Atc.DotNet/DotnetNugetHelper.cs +++ b/src/Atc.DotNet/DotnetNugetHelper.cs @@ -44,19 +44,24 @@ public static List GetAllPackageReferences( throw new ArgumentNullException(nameof(fileContent)); } - if (!fileContent.StartsWith('<')) + // A project file can start with a byte-order-mark remnant, a blank line or indentation + // before the XML declaration, none of which stops it from being valid XML. + var trimmedFileContent = fileContent.TrimStart(); + + if (!trimmedFileContent.StartsWith('<')) { throw new DataException("Expect xml content"); } - var xDoc = XDocument.Parse(fileContent); + var xDoc = XDocument.Parse(trimmedFileContent); var data = xDoc - .Descendants("PackageReference") + .Descendants() + .Where(e => e.Name.LocalName.Equals("PackageReference", StringComparison.Ordinal)) .Select(e => new { - PackageId = e.Attribute("Include")?.Value, - Version = e.Attribute("Version")?.Value - ?? e.Element("Version")?.Value, + PackageId = GetAttributeValue(e, "Include"), + Version = GetAttributeValue(e, "Version") + ?? GetElementValue(e, "Version"), }) .Where(x => !string.IsNullOrEmpty(x.PackageId) && !string.IsNullOrEmpty(x.Version)) .Select(x => new DotnetNugetPackageMetadataBase(x.PackageId!, x.Version!)) @@ -65,4 +70,28 @@ public static List GetAllPackageReferences( return data; } + + /// + /// Reads an attribute by its local name, so project files declaring the legacy MSBuild + /// namespace are handled the same way as SDK-style ones. + /// + private static string? GetAttributeValue( + XElement element, + string attributeName) + => element + .Attributes() + .FirstOrDefault(x => x.Name.LocalName.Equals(attributeName, StringComparison.Ordinal)) + ?.Value; + + /// + /// Reads a child element by its local name, so project files declaring the legacy MSBuild + /// namespace are handled the same way as SDK-style ones. + /// + private static string? GetElementValue( + XElement element, + string elementName) + => element + .Elements() + .FirstOrDefault(x => x.Name.LocalName.Equals(elementName, StringComparison.Ordinal)) + ?.Value; } \ No newline at end of file diff --git a/src/Atc.OpenApi/Atc.OpenApi.csproj b/src/Atc.OpenApi/Atc.OpenApi.csproj index 502870f8..41025624 100644 --- a/src/Atc.OpenApi/Atc.OpenApi.csproj +++ b/src/Atc.OpenApi/Atc.OpenApi.csproj @@ -9,7 +9,7 @@ - + diff --git a/src/Atc.Rest.AwesomeAssertions/Atc.Rest.AwesomeAssertions.csproj b/src/Atc.Rest.AwesomeAssertions/Atc.Rest.AwesomeAssertions.csproj index a088cc7f..59869e31 100644 --- a/src/Atc.Rest.AwesomeAssertions/Atc.Rest.AwesomeAssertions.csproj +++ b/src/Atc.Rest.AwesomeAssertions/Atc.Rest.AwesomeAssertions.csproj @@ -13,7 +13,7 @@ - + diff --git a/src/Atc.Rest.HealthChecks/Atc.Rest.HealthChecks.csproj b/src/Atc.Rest.HealthChecks/Atc.Rest.HealthChecks.csproj index f3ec9c78..3959a58d 100644 --- a/src/Atc.Rest.HealthChecks/Atc.Rest.HealthChecks.csproj +++ b/src/Atc.Rest.HealthChecks/Atc.Rest.HealthChecks.csproj @@ -10,7 +10,7 @@ - + diff --git a/src/Atc.XUnit/Atc.XUnit.csproj b/src/Atc.XUnit/Atc.XUnit.csproj index 19c9ca9f..11250885 100644 --- a/src/Atc.XUnit/Atc.XUnit.csproj +++ b/src/Atc.XUnit/Atc.XUnit.csproj @@ -14,13 +14,13 @@ - + NU1701 - - - + + + diff --git a/src/Atc.XUnit/Internal/AbstractSyntaxTree/DecompilerHelper.cs b/src/Atc.XUnit/Internal/AbstractSyntaxTree/DecompilerHelper.cs index d3fa4ecf..cbafcf20 100644 --- a/src/Atc.XUnit/Internal/AbstractSyntaxTree/DecompilerHelper.cs +++ b/src/Atc.XUnit/Internal/AbstractSyntaxTree/DecompilerHelper.cs @@ -32,7 +32,7 @@ internal static Tuple[] GetTestMethodsWithDecompi Tuple[] testTypeMethods) { var testMethods = new List>(); - foreach ((Type testType, MethodInfo[] testMethodInfos) in testTypeMethods) + foreach (var (testType, testMethodInfos) in testTypeMethods) { if (testType.FullName is null) { @@ -43,28 +43,18 @@ internal static Tuple[] GetTestMethodsWithDecompi var syntaxTree = decompiler.DecompileType(fullTypeName); var astNodes = syntaxTree .Descendants - .Where(x => x.NodeType == NodeType.Member) + .OfType() .ToArray(); foreach (var testMethodInfo in testMethodInfos) { - foreach (var astNode in astNodes) - { - if (astNode is not MethodDeclaration methodDeclaration) - { - continue; - } - - if (!methodDeclaration.Name.Equals(testMethodInfo.Name, StringComparison.Ordinal)) - { - continue; - } - - testMethods.Add(new Tuple(testMethodInfo, methodDeclaration)); - } + testMethods.AddRange( + astNodes + .Where(methodDeclaration => methodDeclaration.Name.Equals(testMethodInfo.Name, StringComparison.Ordinal)) + .Select(methodDeclaration => new Tuple(testMethodInfo, methodDeclaration))); } } - return testMethods.ToArray(); + return [.. testMethods]; } } \ No newline at end of file diff --git a/src/Atc.XUnit/Internal/AbstractSyntaxTree/DecompilerMethodHelper.cs b/src/Atc.XUnit/Internal/AbstractSyntaxTree/DecompilerMethodHelper.cs index d6f0ec61..de945556 100644 --- a/src/Atc.XUnit/Internal/AbstractSyntaxTree/DecompilerMethodHelper.cs +++ b/src/Atc.XUnit/Internal/AbstractSyntaxTree/DecompilerMethodHelper.cs @@ -170,9 +170,9 @@ testMethodsWithDeclaration is null || } internal static AstNode? GetAstNodeForMethod( - AstNode astNode, + AstNode? astNode, string methodName) - => astNode.Descendants + => astNode?.Descendants .Where(x => x.IsType(typeof(InvocationExpression))) .Select(node => node.Descendants.FirstOrDefault(x => x.IsType(typeof(Identifier)) && string.Equals(x.ToString(), methodName, StringComparison.Ordinal))) .FirstOrDefault(x => x is not null); @@ -207,7 +207,7 @@ testMethodsWithDeclaration is null || } internal static AstNode? GetAstNodeForMethodWithParameters( - AstNode astNode, + AstNode? astNode, string methodName) => GetAstNodeForMethod(astNode, methodName)?.Parent?.Parent; @@ -220,10 +220,12 @@ internal static List GetAstNodesForMethodParameters( return new List(); } - // Check if there are complex expressions (DirectionExpression or ObjectCreateExpression) as direct children + // Check if there are complex expressions (DirectionExpression, OutVarDeclarationExpression or ObjectCreateExpression) as direct children // If so, we need to extract from direct children to get these nodes properly var hasComplexExpressions = astNode.Children - .Any(x => x.IsType(typeof(DirectionExpression)) || x.IsType(typeof(ObjectCreateExpression))); + .Any(x => x.IsType(typeof(DirectionExpression)) || + x.IsType(typeof(OutVarDeclarationExpression)) || + x.IsType(typeof(ObjectCreateExpression))); if (hasComplexExpressions) { @@ -251,6 +253,7 @@ internal static List GetAstNodesForMethodParameters( .Where(x => x.IsType(typeof(InvocationExpression)) || x.IsType(typeof(ObjectCreateExpression)) || x.IsType(typeof(DirectionExpression)) || + x.IsType(typeof(OutVarDeclarationExpression)) || x.IsType(typeof(LambdaExpression)) || x.IsType(typeof(AnonymousMethodExpression)) || x.ToString().Contains("=>", StringComparison.Ordinal)) @@ -291,6 +294,7 @@ private static List FilterDirectChildArguments(AstNode astNode) return child.IsType(typeof(InvocationExpression)) || child.IsType(typeof(ObjectCreateExpression)) || child.IsType(typeof(DirectionExpression)) || + child.IsType(typeof(OutVarDeclarationExpression)) || child.IsType(typeof(IdentifierExpression)) || child.IsType(typeof(PrimitiveExpression)) || child.IsType(typeof(NullReferenceExpression)) || diff --git a/src/Atc.XUnit/Internal/AbstractSyntaxTree/ParametersNamingMatchHelper.cs b/src/Atc.XUnit/Internal/AbstractSyntaxTree/ParametersNamingMatchHelper.cs index 3b70053a..a1ec27c2 100644 --- a/src/Atc.XUnit/Internal/AbstractSyntaxTree/ParametersNamingMatchHelper.cs +++ b/src/Atc.XUnit/Internal/AbstractSyntaxTree/ParametersNamingMatchHelper.cs @@ -366,7 +366,8 @@ private static bool ParameterCheckForDirectionExpression( ParameterInfo parameter, AstNode astNode) { - if (!astNode.IsType(typeof(DirectionExpression))) + if (!astNode.IsType(typeof(DirectionExpression)) && + !astNode.IsType(typeof(OutVarDeclarationExpression))) { return false; } diff --git a/src/Atc/Atc.csproj b/src/Atc/Atc.csproj index d192278e..f2907537 100644 --- a/src/Atc/Atc.csproj +++ b/src/Atc/Atc.csproj @@ -10,13 +10,13 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + @@ -77,7 +77,7 @@ - + diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 5a262bf9..253cb192 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -53,7 +53,7 @@ - + diff --git a/test/Atc.DotNet.Tests/DotnetCsProjFileHelperSdkAttributeTests.cs b/test/Atc.DotNet.Tests/DotnetCsProjFileHelperSdkAttributeTests.cs new file mode 100644 index 00000000..4b406c42 --- /dev/null +++ b/test/Atc.DotNet.Tests/DotnetCsProjFileHelperSdkAttributeTests.cs @@ -0,0 +1,86 @@ +namespace Atc.DotNet.Tests; + +/// +/// The SDK of a project file was resolved through XElement.FirstAttribute, which is only +/// the Sdk attribute when it happens to be written first. Any attribute placed ahead of it +/// - including an xmlns declaration, which LINQ to XML also exposes as an attribute - +/// made the whole project type detection fall through to . +/// +public class DotnetCsProjFileHelperSdkAttributeTests +{ + [Theory] + [InlineData(DotnetProjectType.ConsoleApp, "")] + [InlineData(DotnetProjectType.ConsoleApp, "")] + [InlineData(DotnetProjectType.ConsoleApp, "")] + public void GetProjectType_FileContent_ResolvesSdk_RegardlessOfAttributeOrder( + DotnetProjectType expected, + string projectStartElement) + { + // Arrange + var fileContent = $""" + {projectStartElement} + + Exe + net9.0 + + + """; + + // Atc + var actual = DotnetCsProjFileHelper.GetProjectType(fileContent); + + // Assert + Assert.Equal(expected, actual); + } + + [Theory] + [InlineData(DotnetProjectType.WebApi, "Microsoft.NET.Sdk.Web", "Swashbuckle.AspNetCore")] + [InlineData(DotnetProjectType.XUnitTest, "Microsoft.NET.Sdk", "xunit")] + public void GetProjectType_FileContent_ResolvesSdk_WhenNamespaceIsDeclaredBeforeSdkAttribute( + DotnetProjectType expected, + string sdk, + string packageReference) + { + // Arrange + var fileContent = $""" + + + net9.0 + + + + + + """; + + // Atc + var actual = DotnetCsProjFileHelper.GetProjectType(fileContent); + + // Assert + Assert.Equal(expected, actual); + } + + [Theory] + [InlineData(DotnetProjectType.AspireAppHost, "Aspire.AppHost.Sdk/9.0.0")] + [InlineData(DotnetProjectType.RazorLibrary, "Microsoft.NET.Sdk.Razor")] + [InlineData(DotnetProjectType.WorkerService, "Microsoft.NET.Sdk.Worker")] + public void GetProjectType_FileContent_ResolvesWellKnownSdk_WhenAnotherAttributeComesFirst( + DotnetProjectType expected, + string sdk) + { + // Arrange + var fileContent = $""" + + + net9.0 + + + """; + + // Atc + var actual = DotnetCsProjFileHelper.GetProjectType(fileContent); + + // Assert + Assert.Equal(expected, actual); + } +} \ No newline at end of file diff --git a/test/Atc.DotNet.Tests/DotnetNugetHelperTests.cs b/test/Atc.DotNet.Tests/DotnetNugetHelperTests.cs index 0d362732..da978be6 100644 --- a/test/Atc.DotNet.Tests/DotnetNugetHelperTests.cs +++ b/test/Atc.DotNet.Tests/DotnetNugetHelperTests.cs @@ -59,6 +59,59 @@ public void GetAllPackageReferences_FileContent() .And.HaveCount(3); } + [Fact] + public void GetAllPackageReferences_FileContent_WithLegacyMsBuildNamespace() + { + // Arrange + var fileContent = CreateDirectoryBuildPropsFileContentWithLegacyMsBuildNamespace(); + + // Atc + var actual = DotnetNugetHelper.GetAllPackageReferences(fileContent); + + // Assert + actual + .Should().NotBeEmpty() + .And.HaveCount(3); + + actual[0].PackageId.Should().Be("AsyncFixer"); + actual[0].Version.Should().Be("2.1.0"); + actual[1].PackageId.Should().Be("Meziantou.Analyzer"); + actual[1].Version.Should().Be("3.0.54"); + actual[2].PackageId.Should().Be("SonarAnalyzer.CSharp"); + actual[2].Version.Should().Be("10.24.0.138807"); + } + + [Theory] + [InlineData("\r\n")] + [InlineData(" ")] + [InlineData("\r\n \r\n")] + public void GetAllPackageReferences_FileContent_WithLeadingWhitespace( + string leadingWhitespace) + { + // Arrange + var fileContent = leadingWhitespace + CreateCsprojFileContent(); + + // Atc + var actual = DotnetNugetHelper.GetAllPackageReferences(fileContent); + + // Assert + actual + .Should().NotBeEmpty() + .And.HaveCount(3); + } + + [Theory] + [InlineData("")] + [InlineData(" ")] + [InlineData("Not xml at all")] + public void GetAllPackageReferences_FileContent_ThrowsDataException_WhenContentIsNotXml( + string fileContent) + { + // Atc & Assert + Assert.Throws( + () => DotnetNugetHelper.GetAllPackageReferences(fileContent)); + } + private static Task CreateCsprojFile( DirectoryInfo workingDirectory, string fileName) @@ -89,4 +142,20 @@ private static string CreateCsprojFileContent() sb.AppendLine(""); return sb.ToString(); } + + private static string CreateDirectoryBuildPropsFileContentWithLegacyMsBuildNamespace() + { + var sb = new StringBuilder(); + sb.AppendLine(""); + sb.AppendLine(""); + sb.AppendLine(2, ""); + sb.AppendLine(4, ""); + sb.AppendLine(4, ""); + sb.AppendLine(4, ""); + sb.AppendLine(6, "10.24.0.138807"); + sb.AppendLine(4, ""); + sb.AppendLine(2, ""); + sb.AppendLine(""); + return sb.ToString(); + } } \ No newline at end of file diff --git a/test/Atc.Tests/Extensions/BaseTypes/DateTimeExtensionsTests.cs b/test/Atc.Tests/Extensions/BaseTypes/DateTimeExtensionsTests.cs index e243529c..f4fe4ac5 100644 --- a/test/Atc.Tests/Extensions/BaseTypes/DateTimeExtensionsTests.cs +++ b/test/Atc.Tests/Extensions/BaseTypes/DateTimeExtensionsTests.cs @@ -38,7 +38,7 @@ public void GetPrettyTimeDiff( int arrangeUiLcid) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = start.GetPrettyTimeDiff(); @@ -57,7 +57,7 @@ public void GetPrettyTimeDiff_DecimalPrecision( int arrangeUiLcid) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = start.GetPrettyTimeDiff(decimalPrecision); @@ -76,8 +76,8 @@ public void GetPrettyTimeDiff_EndNow( int arrangeUiLcid) { // Arrange - Thread.CurrentThread.CurrentCulture = new CultureInfo(arrangeUiLcid); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentCulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = start.GetPrettyTimeDiff(end); @@ -96,8 +96,8 @@ public void GetPrettyTimeDiff_EndNow_DecimalPrecision( int arrangeUiLcid) { // Arrange - Thread.CurrentThread.CurrentCulture = new CultureInfo(arrangeUiLcid); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentCulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = start.GetPrettyTimeDiff(end, decimalPrecision); @@ -133,7 +133,7 @@ public void GetWeekNumberUi( int month) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates, useUserOverride: false); var input = new DateTime(year, month, 1, 0, 0, 0); // Act @@ -210,7 +210,7 @@ public void ToLongDateStringUi( { // Arrange var dateTime = new DateTime(2023, 10, 15, 15, 30, 45, DateTimeKind.Local); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTime.ToLongDateStringUi(); @@ -230,7 +230,7 @@ public void ToLongDateString( { // Arrange var dateTime = new DateTime(2023, 10, 15, 15, 30, 45, DateTimeKind.Local); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTime.ToLongDateString(Thread.CurrentThread.CurrentUICulture.DateTimeFormat); @@ -250,7 +250,7 @@ public void ToLongTimeStringUi( { // Arrange var dateTime = new DateTime(2023, 10, 15, 15, 30, 45, DateTimeKind.Local); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTime.ToLongTimeStringUi(); @@ -270,7 +270,7 @@ public void ToLongTimeString( { // Arrange var dateTime = new DateTime(2023, 10, 15, 15, 30, 45, DateTimeKind.Local); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTime.ToLongTimeString(Thread.CurrentThread.CurrentUICulture.DateTimeFormat); @@ -290,7 +290,7 @@ public void ToShortDateStringUi( { // Arrange var dateTime = new DateTime(2023, 10, 15, 15, 30, 45, DateTimeKind.Local); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTime.ToShortDateStringUi(); @@ -310,7 +310,7 @@ public void ToShortDateString( { // Arrange var dateTime = new DateTime(2023, 10, 15, 15, 30, 45, DateTimeKind.Local); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTime.ToShortDateString(Thread.CurrentThread.CurrentUICulture.DateTimeFormat); @@ -330,7 +330,7 @@ public void ToShortTimeStringUi( { // Arrange var dateTime = new DateTime(2023, 10, 15, 15, 30, 45, DateTimeKind.Local); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTime.ToShortTimeStringUi(); @@ -350,7 +350,7 @@ public void ToShortTimeString( { // Arrange var dateTime = new DateTime(2023, 10, 15, 15, 30, 45, DateTimeKind.Local); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTime.ToShortTimeString(Thread.CurrentThread.CurrentUICulture.DateTimeFormat); @@ -370,7 +370,7 @@ public void ToLongDateStringUsingSpecificCulture( { // Arrange var dateTime = new DateTime(2023, 10, 15, 15, 30, 45, DateTimeKind.Local); - var cultureInfo = new CultureInfo(cultureInfoLcid); + var cultureInfo = new CultureInfo(cultureInfoLcid, useUserOverride: false); // Act var actual = dateTime.ToLongDateStringUsingSpecificCulture(cultureInfo); @@ -390,7 +390,7 @@ public void ToLongTimeStringUsingSpecificCulture( { // Arrange var dateTime = new DateTime(2023, 10, 15, 15, 30, 45, DateTimeKind.Local); - var cultureInfo = new CultureInfo(cultureInfoLcid); + var cultureInfo = new CultureInfo(cultureInfoLcid, useUserOverride: false); // Act var actual = dateTime.ToLongTimeStringUsingSpecificCulture(cultureInfo); @@ -410,7 +410,7 @@ public void ToShortDateStringUsingSpecificCulture( { // Arrange var dateTime = new DateTime(2023, 10, 15, 15, 30, 45, DateTimeKind.Local); - var cultureInfo = new CultureInfo(cultureInfoLcid); + var cultureInfo = new CultureInfo(cultureInfoLcid, useUserOverride: false); // Act var actual = dateTime.ToShortDateStringUsingSpecificCulture(cultureInfo); @@ -430,7 +430,7 @@ public void ToShortTimeStringUsingSpecificCulture( { // Arrange var dateTime = new DateTime(2023, 10, 15, 15, 30, 45, DateTimeKind.Local); - var cultureInfo = new CultureInfo(cultureInfoLcid); + var cultureInfo = new CultureInfo(cultureInfoLcid, useUserOverride: false); // Act var actual = dateTime.ToShortTimeStringUsingSpecificCulture(cultureInfo); diff --git a/test/Atc.Tests/Extensions/BaseTypes/DateTimeOffsetExtensionsTests.cs b/test/Atc.Tests/Extensions/BaseTypes/DateTimeOffsetExtensionsTests.cs index 9dc781d7..286e6207 100644 --- a/test/Atc.Tests/Extensions/BaseTypes/DateTimeOffsetExtensionsTests.cs +++ b/test/Atc.Tests/Extensions/BaseTypes/DateTimeOffsetExtensionsTests.cs @@ -33,7 +33,7 @@ public void GetPrettyTimeDiff( int arrangeUiLcid) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = start.GetPrettyTimeDiff(); @@ -52,7 +52,7 @@ public void GetPrettyTimeDiff_DecimalPrecision( int arrangeUiLcid) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = start.GetPrettyTimeDiff(decimalPrecision); @@ -71,8 +71,8 @@ public void GetPrettyTimeDiff_EndNow( int arrangeUiLcid) { // Arrange - Thread.CurrentThread.CurrentCulture = new CultureInfo(arrangeUiLcid); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentCulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = start.GetPrettyTimeDiff(end); @@ -91,8 +91,8 @@ public void GetPrettyTimeDiff_EndNow_DecimalPrecision( int arrangeUiLcid) { // Arrange - Thread.CurrentThread.CurrentCulture = new CultureInfo(arrangeUiLcid); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentCulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = start.GetPrettyTimeDiff(end, decimalPrecision); @@ -128,7 +128,7 @@ public void GetWeekNumberUi( int month) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates, useUserOverride: false); var input = new DateTimeOffset(year, month, 1, 0, 0, 0, TimeSpan.Zero); // Act @@ -266,7 +266,7 @@ public void ToLongDateStringUi( { // Arrange var dateTimeOffset = new DateTimeOffset(2023, 10, 15, 15, 30, 45, TimeSpan.Zero); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTimeOffset.ToLongDateStringUi(); @@ -286,7 +286,7 @@ public void ToLongDateString( { // Arrange var dateTimeOffset = new DateTimeOffset(2023, 10, 15, 15, 30, 45, TimeSpan.Zero); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTimeOffset.ToLongDateString(Thread.CurrentThread.CurrentUICulture.DateTimeFormat); @@ -306,7 +306,7 @@ public void ToLongTimeStringUi( { // Arrange var dateTimeOffset = new DateTimeOffset(2023, 10, 15, 15, 30, 45, TimeSpan.Zero); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTimeOffset.ToLongTimeStringUi(); @@ -326,7 +326,7 @@ public void ToLongTimeString( { // Arrange var dateTimeOffset = new DateTimeOffset(2023, 10, 15, 15, 30, 45, TimeSpan.Zero); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTimeOffset.ToLongTimeString(Thread.CurrentThread.CurrentUICulture.DateTimeFormat); @@ -346,7 +346,7 @@ public void ToShortDateStringUi( { // Arrange var dateTimeOffset = new DateTimeOffset(2023, 10, 15, 15, 30, 45, TimeSpan.Zero); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTimeOffset.ToShortDateStringUi(); @@ -366,7 +366,7 @@ public void ToShortDateString( { // Arrange var dateTimeOffset = new DateTimeOffset(2023, 10, 15, 15, 30, 45, TimeSpan.Zero); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTimeOffset.ToShortDateString(Thread.CurrentThread.CurrentUICulture.DateTimeFormat); @@ -386,7 +386,7 @@ public void ToShortTimeStringUi( { // Arrange var dateTimeOffset = new DateTimeOffset(2023, 10, 15, 15, 30, 45, TimeSpan.Zero); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTimeOffset.ToShortTimeStringUi(); @@ -406,7 +406,7 @@ public void ToShortTimeString( { // Arrange var dateTimeOffset = new DateTimeOffset(2023, 10, 15, 15, 30, 45, TimeSpan.Zero); - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = dateTimeOffset.ToShortTimeString(Thread.CurrentThread.CurrentUICulture.DateTimeFormat); diff --git a/test/Atc.Tests/Extensions/BaseTypes/DecimalExtensionsTests.cs b/test/Atc.Tests/Extensions/BaseTypes/DecimalExtensionsTests.cs index 1f50a06c..ca08de5f 100644 --- a/test/Atc.Tests/Extensions/BaseTypes/DecimalExtensionsTests.cs +++ b/test/Atc.Tests/Extensions/BaseTypes/DecimalExtensionsTests.cs @@ -115,7 +115,7 @@ public void CurrencyRoundingUi( decimal input) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates, useUserOverride: false); // Act var actual = input.CurrencyRoundingUi(); diff --git a/test/Atc.Tests/Extensions/BaseTypes/DoubleExtensionsTests.cs b/test/Atc.Tests/Extensions/BaseTypes/DoubleExtensionsTests.cs index 4ba96802..bb6f5146 100644 --- a/test/Atc.Tests/Extensions/BaseTypes/DoubleExtensionsTests.cs +++ b/test/Atc.Tests/Extensions/BaseTypes/DoubleExtensionsTests.cs @@ -173,7 +173,7 @@ public void CurrencyRoundingUi( double input) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates, useUserOverride: false); // Act var actual = input.CurrencyRoundingUi(); diff --git a/test/Atc.Tests/Extensions/BaseTypes/IntegerExtensionsTests.cs b/test/Atc.Tests/Extensions/BaseTypes/IntegerExtensionsTests.cs index 4441d3f7..4f5ad47a 100644 --- a/test/Atc.Tests/Extensions/BaseTypes/IntegerExtensionsTests.cs +++ b/test/Atc.Tests/Extensions/BaseTypes/IntegerExtensionsTests.cs @@ -120,7 +120,7 @@ public void GetMonthNameByMonthNumberUi( bool pascalCased) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = input.GetMonthNameByMonthNumberUi(pascalCased); @@ -155,7 +155,7 @@ public void GetNumberOfWeeksByYearUi( int input) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates, useUserOverride: false); // Act var actual = input.GetNumberOfWeeksByYearUi(); @@ -199,7 +199,7 @@ public void GetFirstDayOfWeekNumberByYearUi( int weekNumber) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates, useUserOverride: false); var expectedDateTime = new DateTime(expectedYear, expectedMonth, expectedDay); // Act @@ -244,7 +244,7 @@ public void GetLastDayOfWeekNumberByYearUi( int weekNumber) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalizationLcidConstants.UnitedStates, useUserOverride: false); var expectedDateTime = new DateTime(expectedYear, expectedMonth, expectedDay); // Act diff --git a/test/Atc.Tests/Extensions/BaseTypes/TimeSpanExtensionsTests.cs b/test/Atc.Tests/Extensions/BaseTypes/TimeSpanExtensionsTests.cs index 465868ca..a1385e9d 100644 --- a/test/Atc.Tests/Extensions/BaseTypes/TimeSpanExtensionsTests.cs +++ b/test/Atc.Tests/Extensions/BaseTypes/TimeSpanExtensionsTests.cs @@ -81,7 +81,7 @@ public void GetPrettyTimeDiff( int arrangeUiLcid) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = timeSpan.GetPrettyTime(); @@ -100,8 +100,8 @@ public void GetPrettyTimeUi( int arrangeLcid) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); - Thread.CurrentThread.CurrentCulture = new CultureInfo(arrangeLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); + Thread.CurrentThread.CurrentCulture = new CultureInfo(arrangeLcid, useUserOverride: false); // Act var actual = timeSpan.GetPrettyTimeUi(); @@ -119,7 +119,7 @@ public void GetPrettyTimeDiff_DecimalPrecision( int arrangeUiLcid) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = timeSpan.GetPrettyTime(decimalPrecision); diff --git a/test/Atc.Tests/Helpers/DateTimeHelperTests.cs b/test/Atc.Tests/Helpers/DateTimeHelperTests.cs index 3c1f77af..c238adf4 100644 --- a/test/Atc.Tests/Helpers/DateTimeHelperTests.cs +++ b/test/Atc.Tests/Helpers/DateTimeHelperTests.cs @@ -26,7 +26,7 @@ public void TryParseUi( string value) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = DateTimeHelper.TryParseUi(value, out _); @@ -46,7 +46,7 @@ public void TryParseUsingSpecificCulture( string value) { // Arrange - var cultureInfo = new CultureInfo(cultureLcid); + var cultureInfo = new CultureInfo(cultureLcid, useUserOverride: false); // Act var actual = DateTimeHelper.TryParseUsingSpecificCulture(value, cultureInfo, out _); @@ -78,7 +78,7 @@ public void TryParseShortDateUi( string value) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = DateTimeHelper.TryParseShortDateUi(value, out _); @@ -98,7 +98,7 @@ public void TryParseShortDateUsingSpecificCulture( string value) { // Arrange - var cultureInfo = new CultureInfo(cultureLcid); + var cultureInfo = new CultureInfo(cultureLcid, useUserOverride: false); // Act var actual = DateTimeHelper.TryParseShortDateUsingSpecificCulture(value, cultureInfo, out _); @@ -130,7 +130,7 @@ public void TryParseShortTimeUi( string value) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = DateTimeHelper.TryParseShortTimeUi(value, out _); @@ -150,7 +150,7 @@ public void TryParseShortTimeUsingSpecificCulture( string value) { // Arrange - var cultureInfo = new CultureInfo(cultureLcid); + var cultureInfo = new CultureInfo(cultureLcid, useUserOverride: false); // Act var actual = DateTimeHelper.TryParseShortTimeUsingSpecificCulture(value, cultureInfo, out _); @@ -182,7 +182,7 @@ public void TryParseShortTimeUiUtc( string value) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = DateTimeHelper.TryParseShortTimeUiUtc(value, out _); @@ -202,7 +202,7 @@ public void TryParseShortTimeUsingSpecificCultureUtc( string value) { // Arrange - var cultureInfo = new CultureInfo(cultureLcid); + var cultureInfo = new CultureInfo(cultureLcid, useUserOverride: false); // Act var actual = DateTimeHelper.TryParseShortTimeUsingSpecificCultureUtc(value, cultureInfo, out _); diff --git a/test/Atc.Tests/Helpers/DateTimeOffsetHelperTests.cs b/test/Atc.Tests/Helpers/DateTimeOffsetHelperTests.cs index d5f5ac06..c0ffbd22 100644 --- a/test/Atc.Tests/Helpers/DateTimeOffsetHelperTests.cs +++ b/test/Atc.Tests/Helpers/DateTimeOffsetHelperTests.cs @@ -26,7 +26,7 @@ public void TryParseUi( string value) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = DateTimeOffsetHelper.TryParseUi(value, out _); @@ -58,7 +58,7 @@ public void TryParseShortDateUi( string value) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = DateTimeOffsetHelper.TryParseShortDateUi(value, out _); @@ -90,7 +90,7 @@ public void TryParseShortTimeUi( string value) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = DateTimeOffsetHelper.TryParseShortTimeUi(value, out _); @@ -122,7 +122,7 @@ public void TryParseShortTimeUiUtc( string value) { // Arrange - Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid); + Thread.CurrentThread.CurrentUICulture = new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = DateTimeOffsetHelper.TryParseShortTimeUiUtc(value, out _); @@ -148,7 +148,7 @@ public void TryParseUsingSpecificCulture( { var actual = DateTimeOffsetHelper.TryParseUsingSpecificCulture( value, - new CultureInfo(lcid), + new CultureInfo(lcid, useUserOverride: false), out _); Assert.Equal(expected, actual); } @@ -170,7 +170,7 @@ public void TryParseShortDateUsingSpecificCulture( { var actual = DateTimeOffsetHelper.TryParseShortDateUsingSpecificCulture( value, - new CultureInfo(lcid), + new CultureInfo(lcid, useUserOverride: false), out _); Assert.Equal(expected, actual); } @@ -195,7 +195,7 @@ public void TryParseShortTimeUsingSpecificCulture( { var actual = DateTimeOffsetHelper.TryParseShortTimeUsingSpecificCulture( value, - new CultureInfo(lcid), + new CultureInfo(lcid, useUserOverride: false), out _); Assert.Equal(expected, actual); } @@ -220,7 +220,7 @@ public void TryParseShortTimeUsingSpecificCultureUtc( { var actual = DateTimeOffsetHelper.TryParseShortTimeUsingSpecificCultureUtc( value, - new CultureInfo(lcid), + new CultureInfo(lcid, useUserOverride: false), out _); Assert.Equal(expected, actual); } diff --git a/test/Atc.Tests/Helpers/Enums/DayOfWeekHelperTests.cs b/test/Atc.Tests/Helpers/Enums/DayOfWeekHelperTests.cs index e77a3e0d..8028d50b 100644 --- a/test/Atc.Tests/Helpers/Enums/DayOfWeekHelperTests.cs +++ b/test/Atc.Tests/Helpers/Enums/DayOfWeekHelperTests.cs @@ -45,7 +45,7 @@ public void GetDescription( // Arrange var culture = arrangeUiLcid == 0 ? GlobalizationConstants.EnglishCultureInfo - : new CultureInfo(arrangeUiLcid); + : new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = DayOfWeekHelper.GetDescription(input, culture); @@ -64,7 +64,7 @@ public void GetDescriptions( CultureInfo? culture = null; if (arrangeUiLcid > 0) { - culture = new CultureInfo(arrangeUiLcid); + culture = new CultureInfo(arrangeUiLcid, useUserOverride: false); } // Act @@ -91,7 +91,7 @@ public void TryParseDescription( // Arrange var culture = arrangeUiLcid == 0 ? GlobalizationConstants.EnglishCultureInfo - : new CultureInfo(arrangeUiLcid); + : new CultureInfo(arrangeUiLcid, useUserOverride: false); // Act var actual = DayOfWeekHelper.TryParseDescription(input, out var dayOfWeek, culture); diff --git a/test/Atc.Tests/Helpers/NumberHelperTests.cs b/test/Atc.Tests/Helpers/NumberHelperTests.cs index 30a44399..97b509c1 100644 --- a/test/Atc.Tests/Helpers/NumberHelperTests.cs +++ b/test/Atc.Tests/Helpers/NumberHelperTests.cs @@ -52,7 +52,7 @@ public void IsNumber_CultureInfo( bool expected, string value, int cultureInfoLcid) - => Assert.Equal(expected, NumberHelper.IsNumber(value, new CultureInfo(cultureInfoLcid))); + => Assert.Equal(expected, NumberHelper.IsNumber(value, new CultureInfo(cultureInfoLcid, useUserOverride: false))); [Theory] [InlineData(true, "123")] @@ -120,7 +120,7 @@ public void IsDecimal_CultureInfo( bool expected, string value, int cultureInfoLcid) - => Assert.Equal(expected, NumberHelper.IsDecimal(value, new CultureInfo(cultureInfoLcid))); + => Assert.Equal(expected, NumberHelper.IsDecimal(value, new CultureInfo(cultureInfoLcid, useUserOverride: false))); [Theory] [InlineData(123.45, "123.45")] @@ -161,7 +161,7 @@ public void ParseToDecimal_CultureInfo( decimal expected, string value, int cultureInfoLcid) - => Assert.Equal(expected, NumberHelper.ParseToDecimal(value, new CultureInfo(cultureInfoLcid))); + => Assert.Equal(expected, NumberHelper.ParseToDecimal(value, new CultureInfo(cultureInfoLcid, useUserOverride: false))); [Theory] [InlineData(true, "123.45")] @@ -202,7 +202,7 @@ public void TryParseToDecimal_CultureInfo( bool expected, string value, int cultureInfoLcid) - => Assert.Equal(expected, NumberHelper.TryParseToDecimal(value, new CultureInfo(cultureInfoLcid), out _)); + => Assert.Equal(expected, NumberHelper.TryParseToDecimal(value, new CultureInfo(cultureInfoLcid, useUserOverride: false), out _)); [Theory] [InlineData(true, "123.45")] @@ -243,7 +243,7 @@ public void IsDouble_CultureInfo( bool expected, string value, int cultureInfoLcid) - => Assert.Equal(expected, NumberHelper.IsDouble(value, new CultureInfo(cultureInfoLcid))); + => Assert.Equal(expected, NumberHelper.IsDouble(value, new CultureInfo(cultureInfoLcid, useUserOverride: false))); [Theory] [InlineData(123.45, "123.45")] @@ -284,7 +284,7 @@ public void ParseToDouble_CultureInfo( double expected, string value, int cultureInfoLcid) - => Assert.Equal(expected, NumberHelper.ParseToDouble(value, new CultureInfo(cultureInfoLcid))); + => Assert.Equal(expected, NumberHelper.ParseToDouble(value, new CultureInfo(cultureInfoLcid, useUserOverride: false))); [Theory] [InlineData(true, "123.45")] @@ -325,7 +325,7 @@ public void TryParseToDouble_CultureInfo( bool expected, string value, int cultureInfoLcid) - => Assert.Equal(expected, NumberHelper.TryParseToDouble(value, new CultureInfo(cultureInfoLcid), out _)); + => Assert.Equal(expected, NumberHelper.TryParseToDouble(value, new CultureInfo(cultureInfoLcid, useUserOverride: false), out _)); [Theory] [InlineData(true, "123.45")] @@ -366,7 +366,7 @@ public void IsFloat_CultureInfo( bool expected, string value, int cultureInfoLcid) - => Assert.Equal(expected, NumberHelper.IsFloat(value, new CultureInfo(cultureInfoLcid))); + => Assert.Equal(expected, NumberHelper.IsFloat(value, new CultureInfo(cultureInfoLcid, useUserOverride: false))); [Theory] [InlineData(123.45f, "123.45")] @@ -407,7 +407,7 @@ public void ParseToFloat_CultureInfo( float expected, string value, int cultureInfoLcid) - => Assert.Equal(expected, NumberHelper.ParseToFloat(value, new CultureInfo(cultureInfoLcid))); + => Assert.Equal(expected, NumberHelper.ParseToFloat(value, new CultureInfo(cultureInfoLcid, useUserOverride: false))); [Theory] [InlineData(true, "123.45")] @@ -448,5 +448,5 @@ public void TryParseToFloat_CultureInfo( bool expected, string value, int cultureInfoLcid) - => Assert.Equal(expected, NumberHelper.TryParseToFloat(value, new CultureInfo(cultureInfoLcid), out _)); + => Assert.Equal(expected, NumberHelper.TryParseToFloat(value, new CultureInfo(cultureInfoLcid, useUserOverride: false), out _)); } \ No newline at end of file diff --git a/test/Directory.Build.props b/test/Directory.Build.props index d0792d71..b8a2d319 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -17,13 +17,13 @@ - + - - + + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive