gpt4 book ai didi

c# - ShortDayPattern 在指定 CultureInfo 时因构建代理而异

转载 作者:行者123 更新时间:2023-12-05 02:25:31 26 4
gpt4 key购买 nike

我有以下功能:


public static string ShortMonthDayPattern(this DateTimeFormatInfo dateTimeFormatInfo)
{
// Basically takes the ShortDatePattern (dd-mm-yyyy, mm/dd/yyyy, etc) and strips everything except the dd-mm, mm/dd, etc.
string shortPattern = dateTimeFormatInfo.ShortDatePattern;
while (shortPattern[0] != 'd' && shortPattern[0] != 'M')
{
shortPattern = shortPattern.Substring(1);
if (shortPattern.Length == 0)
return dateTimeFormatInfo.ShortDatePattern;
}
while (shortPattern[shortPattern.Length - 1] != 'd' && shortPattern[shortPattern.Length - 1] != 'M')
{
shortPattern = shortPattern.Substring(0, shortPattern.Length - 1);
if (shortPattern.Length == 0)
return dateTimeFormatInfo.ShortDatePattern;
}
return shortPattern;
}

我使用以下单元测试对此进行测试:

        [TestMethod]
public void ShortMonthDayPattern()
{
CultureInfo cultureNl = new CultureInfo("nl-NL");
CultureInfo cultureUs = new CultureInfo("en-US");

Assert.AreEqual("1-7", testDate1.ToString(cultureNl.DateTimeFormat.ShortMonthDayPattern(), cultureNl), "Dutch culture");
Assert.AreEqual("7/1", testDate1.ToString(cultureUs.DateTimeFormat.ShortMonthDayPattern(), cultureUs), "United States culture");

}

这在我的本地开发机器上运行良好,但是当我将更改推送到我的存储库时,构建管道中断并显示以下消息:

  Failed ShortMonthDayPattern [120 ms]
Error Message:
Assert.AreEqual failed. Expected:<1-7>. Actual:<01-07>. Dutch culture
Stack Trace:
at Helper.Test.Extensions.DateTimeFormatInfoExtensionsTest.ShortMonthDayPattern() in D:\a\1\s\Helper.Test\Extensions\DateTimeFormatInfoExtensionsTest.cs:line 22

既然我指定了文化,怎么可能测试在构建代理上失败而在我的本地机器上成功呢?

最佳答案

Since I specify the culture, how is it possible that the test fails on the build agent and succeeds on my local machine?

因为不同文化的规则可能因操作系统、操作系统版本、.NET 版本以及在某些情况下可以独立更新的数据文件版本而异。

从根本上说,机器上某处有数据文件,大致表示Unicode CLDR project中的数据。 .该数据通过 ShortMonthDayPattern 等 API 公开。如果两台机器有不同的数据,无论出于何种原因,这种差异都会通过 API 暴露出来。

关于c# - ShortDayPattern 在指定 CultureInfo 时因构建代理而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74531889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com