異なるカルチャで文字列入力を処理する際のアプリケーションの予測可能性について懸念しています。これは古いソフトウェアの問題であり、新しいソフトウェアでも問題になりたくありません。
私は一般的に 2 つの情報源を持っています。テキストを含む、ファイルからロードされた、WPF アプリケーションおよびストリームに入力された文字列。これらの文化的な文字列は、通常、使用される前にモデルに入力されます
public struct MyModel
{
public String Name;
}
Result DoSomething(MyModel model);
別のマシンで入力されたテキストが含まれている場合に、一部のロジックが実際に処理できることを確認する意味のあるテストを設計したいと考えています。
しかし、違いが重要なケースをどのように示すことができますか?
たとえば、次は失敗します。
var inNativeCulture= "[Something12345678.9:1] {YeS/nO}";
var inChineseCulture = inNativeCulture.ToString(new CultureInfo("zh-CN"));
Assert.That(inChineseCulture, Is.Not.EqualTo(inNativeCulture));
[質問]
DoSomething
文字列が InvarientCulture に変換されていない場合にテストが失敗するようにテストするにはどうすればよいですか?
私も気にする必要がありますか?つまり、Something
フランス語のキーボードで入力された文字列は、常にSomething
中国語のキーボードで入力されたものと同じになりますか?
グローバリゼーションの問題を軽減するために何をテストできますか?