FluentAssertionsを使用して、大文字と小文字を区別しない簡単な比較方法を教えてください。FluentAssertionsを使用して大文字と小文字を区別しない文字列を比較するには? C#
のような何か:
symbol.Should().Be(expectedSymbol, StringComparison.InvariantCultureIgnoreCase);
編集:可能な重複やコードについて: symbol.Should().BeEquivalentTo(expectedSymbol);
それはのCurrentCultureを使用して比較しています。そしてそれはトルコの文化のような状況でブレーキをかけるでしょう。どこ Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR", false); string upper = "in".ToUpper(); // upper == "İN" "in".Should().BeEquivalentTo("In"); // It will fail
ので、一部は "StringComparison.InvariantCultureIgnoreCaseは" ここに非常に重要です。あなたが代わりにBe
使用のBeEquivalentTo
symbol.Should().BeEquivalentTo(expectedSymbol);
BeEquivalentTo
メタデータを
symbol.ToLower().Should().Be(expectedSymbol.ToLower());
OR
を使用することができます
比較している文字列に '.ToLower()'を呼び出さないのはなぜですか? – Glubus
@Glubusはより良い方法を探しています。 'ToLower()'を使用して失敗すると、FluentAssertionsは変更された値をラポートします(小文字)。 –