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