Ejemplo n.º 1
0
        public void NoCurrentCulture()
        {
            string current = CultureInfo.CurrentCulture.Name;

            FaultReason r = new FaultReason(new FaultReasonText []
            {
                new FaultReasonText("hola", "es-ES"),
                new FaultReasonText("bonjour", "fr")
            });

            // CurrentCulture
            FaultReasonText t = r.GetMatchingTranslation(
                CultureInfo.CurrentCulture);

            Assert.IsNotNull(t);
            // seems like the first item is used.
            Assert.AreEqual("hola", t.Text, "#1");
            Assert.AreEqual("es-ES", t.XmlLang, "#2");

            // InvariantCulture
            t = r.GetMatchingTranslation(
                CultureInfo.InvariantCulture);
            Assert.IsNotNull(t);
            // seems like the first item is used.
            Assert.AreEqual("hola", t.Text, "#3");
            Assert.AreEqual("es-ES", t.XmlLang, "#4");
        }
Ejemplo n.º 2
0
        public void Simple()
        {
            FaultReason     r = new FaultReason("testing");
            FaultReasonText t = r.GetMatchingTranslation();

            Assert.IsNotNull(t);
            Assert.AreEqual("testing", t.Text, "#1");
            Assert.AreEqual(CultureInfo.CurrentCulture.Name,
                            t.XmlLang, "#2");
        }
Ejemplo n.º 3
0
        public void MultipleLanguages()
        {
            string current = CultureInfo.CurrentCulture.Name;

            FaultReason r = new FaultReason(new FaultReasonText []
            {
                new FaultReasonText("hello"),
                new FaultReasonText("hola", "es-ES"),
                new FaultReasonText("bonjour", "fr")
            });

            // CurrentCulture
            FaultReasonText t = r.GetMatchingTranslation(
                CultureInfo.CurrentCulture);

            Assert.IsNotNull(t);
            Assert.AreEqual("hello", t.Text, "#1");
            Assert.AreEqual(current, t.XmlLang, "#2");

            // non-neutral name, get by non-neutral culture
            t = r.GetMatchingTranslation(
                new CultureInfo("es-ES"));
            Assert.IsNotNull(t);
            Assert.AreEqual("hola", t.Text, "#3");
            Assert.AreEqual("es-ES", t.XmlLang, "#4");

            // .ctor(non-neutral name), get by neutral culture
            t = r.GetMatchingTranslation(new CultureInfo("es"));
            Assert.IsNotNull(t);
            Assert.AreEqual("hello", t.Text, "#5");
            Assert.AreEqual(current, t.XmlLang, "#6");

            // .ctor(neutral name), get by non-neutral culture
            t = r.GetMatchingTranslation(
                new CultureInfo("fr-FR"));
            Assert.IsNotNull(t);
            Assert.AreEqual("bonjour", t.Text, "#7");
            Assert.AreEqual("fr", t.XmlLang, "#8");
        }
Ejemplo n.º 4
0
        public static string GetFaultCodeReason(MessageFault fault)
        {
            FaultReasonText matchingTranslation;
            FaultReason     reason = fault.Reason;

            if (reason == null)
            {
                return("unknown");
            }
            try
            {
                matchingTranslation = reason.GetMatchingTranslation(CultureInfo.CurrentCulture);
            }
            catch (ArgumentException exception)
            {
                Microsoft.Transactions.Bridge.DiagnosticUtility.ExceptionUtility.TraceHandledException(exception, TraceEventType.Warning);
                return("unknown");
            }
            return(matchingTranslation.Text);
        }