public void UseCulture()
 {
     CultureInfoUtilities.UseCulture(CultureInfo.GetCultureInfo("fr-FR"), () =>
     {
         Assert.Equal("12,00", 12.ToString("F2"));
     });
 }
        public async Task GenerateStruct_ToString()
        {
            var sourceCode = @"
[StronglyTypedIdAttribute(typeof(int))]
public partial struct Test {}
";
            var result     = await GenerateFiles(sourceCode);

            Assert.Empty(result.GeneratorResult.Diagnostics);
            Assert.Equal(2, result.GeneratorResult.GeneratedTrees.Length);

            var alc = new AssemblyLoadContext("test", isCollectible: true);

            try
            {
                alc.LoadFromStream(new MemoryStream(result.Assembly));
                foreach (var a in alc.Assemblies)
                {
                    CultureInfoUtilities.UseCulture("sv-SE", () =>
                    {
                        var type     = a.GetType("Test");
                        var from     = (MethodInfo)type.GetMember("FromInt32").Single();
                        var instance = from.Invoke(null, new object[] { -42 });
                        var str      = instance.ToString();

                        Assert.Equal("Test { Value = -42 }", str);
                    });
                }
            }
            finally
            {
                alc.Unload();
            }
        }
Exemple #3
0
        public void UseCulture()
        {
            CultureInfoUtilities.UseCulture(CultureInfo.GetCultureInfo("fr-FR"), () =>
            {
#pragma warning disable MA0011 // IFormatProvider is missing
                Assert.Equal("12,00", 12.ToString("F2"));
#pragma warning restore MA0011 // IFormatProvider is missing
            });
        }
Exemple #4
0
        public void AppendInvariant_FormattableString()
        {
            CultureInfoUtilities.UseCulture("sv-SE", () =>
            {
                var actual = new StringBuilder().AppendInvariant($"test{-42}").ToString();
                Assert.Equal("test-42", actual);
            });

            CultureInfoUtilities.UseCulture("en-US", () =>
            {
                var actual = new StringBuilder().AppendInvariant($"test{-42}").ToString();
                Assert.Equal("test-42", actual);
            });
        }