public void No_Localized_String_Found(FormatErrorAction errorAction)
        {
            var    smart = GetFormatterWithRegisteredResource(CaseSensitivityType.CaseSensitive, errorAction);
            string?result;

            switch (errorAction)
            {
            case FormatErrorAction.ThrowError:
                Assert.That(() => smart.Format("{:L(es):NonExisting}"), Throws.InstanceOf <FormattingException>());
                break;

            case FormatErrorAction.OutputErrorInResult:
                result = smart.Format("{:L(es):NonExisting}");
                Assert.That(result, Contains.Substring("No localized string found"));
                break;

            case FormatErrorAction.Ignore:
                result = smart.Format("{:L(es):NonExisting}");
                Assert.That(result, Is.EqualTo(string.Empty));
                break;

            case FormatErrorAction.MaintainTokens:
                result = smart.Format("{:L(es):NonExisting}");
                Assert.That(result, Is.EqualTo("{:L(es):NonExisting}"));
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(errorAction), errorAction, null);
            }
        }
        private static SmartFormatter GetFormatterWithRegisteredResource(CaseSensitivityType caseSensitivity = CaseSensitivityType.CaseSensitive, FormatErrorAction formatErrorAction = FormatErrorAction.ThrowError)
        {
            var localizationFormatter = new LocalizationFormatter {
                CanAutoDetect = false
            };
            var smart = Smart.CreateDefaultSmartFormat(new SmartSettings
            {
                CaseSensitivity = caseSensitivity,
                Localization    =
                {
                    LocalizationProvider = new LocalizationProvider(true, LocTest1.ResourceManager)
                    {
                        FallbackCulture  = null,                          ReturnNameIfNotFound= false
                    }
                },
                Formatter = { ErrorAction = formatErrorAction }
            })
                        .AddExtensions(localizationFormatter)
                        .AddExtensions(new PluralLocalizationFormatter());

            return(smart);
        }