Je travaille sur une application Silverlight et je suis bloqué par un problème lié au test unitaire. Le but de ce test unitaire est de tester la localisation.
La culture par défaut est l'anglais et je veux tester la culture française. J'ai essayé de définir la culture et la culture de l'interface utilisateur et l'attribut DeploymentItem. Mais sans succès.
Voici mon test
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class SampleTest
{
[TestMethod]
[DeploymentItem(@"Bin\fr", "fr")]
public void Test Method()
{
SetSpecificCurture(false);
string test = EngineAnomaliesViewStrings.Identifier;
Note: [EngineAnomaliesViewStrings is my resource file]
Assert.AreEqual("Some French Test", test);
}
private void setSpecificCurture(Boolean isUkLable)
{
CurrentUserLogged.Details.IsUKLanguage = isUkLable;
string culture = isUkLable ? "en" : "fr";
string dateFormat = isUkLable ? "MM/dd/yyyy" : "dd/MM/yyyy";
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(culture);
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(culture);
Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = dateFormat;
Thread.CurrentThread.CurrentUICulture.DateTimeFormat.ShortDatePattern = dateFormat;
}
Même en mettant en place la culture FR, en obtenant toujours des valeurs anglaises.
Quelqu'un a-t-il une idée pour résoudre ce problème ?
Merci, Mahesh.