public void FilterFormatted_ForFilterWithNonNullChars_WhenCalledWithNullSource_ReturnsNull(
            [CombinatorialValues("", "a", "aaA%@2-")] string chars,
            [CombinatorialValues(-1, 0, 1, 3)] int start,
            [CombinatorialValues(-1, 0, 1, 3)] int end,
            [CombinatorialValues(null, "", "a", "abc")] string?destStr,
            [CombinatorialValues(-1, 0, 1, 3)] int dstart,
            [CombinatorialValues(-1, 0, 1, 3)] int dend)
        {
            var dest   = destStr == null ? null : new SpannableString(destStr);
            var filter = new ForbiddenCharsInputFilter(chars.ToCharArray());

            var result = filter.FilterFormatted(null, start, end, dest, dstart, dend);

            Assert.Null(result);
        }
        public void FilterFormatted_ForFilterWithNonEmptyChars_WhenCalledWithNonNullSource_IfSourceContainForbiddenChars_ReturnsEmptyString(
            [CombinatorialValues("a", "aaabc", "%klp", "jd2ye")] string sourceStr,
            [CombinatorialValues(-1, 0, 1, 3)] int start,
            [CombinatorialValues(-1, 0, 1, 3)] int end,
            [CombinatorialValues(null, "", "a", "abc")] string?destStr,
            [CombinatorialValues(-1, 0, 1, 3)] int dstart,
            [CombinatorialValues(-1, 0, 1, 3)] int dend)
        {
            var source = new String(sourceStr);
            var dest   = destStr == null ? null : new SpannableString(destStr);
            var filter = new ForbiddenCharsInputFilter("aaAA%@2@-".ToCharArray());

            var result = filter.FilterFormatted(source, start, end, dest, dstart, dend);

            Assert.Empty(result);
        }