public void TestNonDefaultBundleOptions() { var defaultBundleOpt = new FluentBundleOption() { Locales = { "en" }, MaxPlaceable = 123, UseIsolating = false, TransformFunc = _transform, FormatterFunc = _formatter, Functions = new Dictionary <string, ExternalFunction>() { ["zero"] = _zeroFunc, ["id"] = _idFunc, } }; var bundle = FluentBundle.MakeUnchecked(defaultBundleOpt); Assert.AreEqual(new CultureInfo("en"), bundle.Culture); Assert.AreEqual(defaultBundleOpt.FormatterFunc, bundle.FormatterFunc); Assert.AreEqual(defaultBundleOpt.TransformFunc, bundle.TransformFunc); Assert.AreEqual(defaultBundleOpt.UseIsolating, bundle.UseIsolating); Assert.AreEqual(defaultBundleOpt.MaxPlaceable, bundle.MaxPlaceable); Assert.IsTrue(bundle.TryGetFunction("zero", out var zero)); Assert.AreEqual(_zeroFunc, zero?.Function); Assert.IsTrue(bundle.TryGetFunction("id", out var id)); Assert.AreEqual(_idFunc, id?.Function); }
public void TestDefaultBundleOptions() { var defaultBundleOpt = new FluentBundleOption(); var bundle = FluentBundle.MakeUnchecked(defaultBundleOpt); Assert.AreEqual(CultureInfo.CurrentCulture, bundle.Culture); Assert.IsNull(bundle.FormatterFunc); Assert.IsNull(bundle.TransformFunc); Assert.IsTrue(bundle.UseIsolating); Assert.AreEqual(100, bundle.MaxPlaceable); }
public void TestConcurrencyOption() { var bundleOpt = new FluentBundleOption() { Locales = { "en-US" }, UseConcurrent = true, }; var optBundle = FluentBundle.MakeUnchecked(bundleOpt); Parallel.For(0, 10, i => optBundle.AddResource($"term-1 = {i}", out _)); Parallel.For(0, 10, i => optBundle.AddResource($"term-2= {i}", out _)); Parallel.For(0, 10, i => optBundle.TryGetAttrMsg("term-1", null, out _, out _)); Parallel.For(0, 10, i => optBundle.AddResourceOverriding($"term-2= {i + 1}")); Assert.True(optBundle.HasMessage("term-1")); }