public void ShouldChangeText_NullResponderAndOldText_ReturnsExpectedResult(UIResponder responder, string oldText)
        {
            var filter = new ForbiddenCharsFilter('%');

            var result = filter.ShouldChangeText(responder, oldText, new NSRange(1, 1), "new");

            Assert.True(result);
        }
        public async Task ShouldChangeText_UITextFieldForbiddenChars_ReturnsExpectedResult(
            string forbiddenChars,
            string oldText,
            string newText,
            bool expectedResult)
        {
            var result = await Helpers.RunOnUIThreadAsync(() =>
            {
                var textField = new UITextField();
                var range     = new NSRange(oldText.Length - 1, newText.Length);
                var chars     = forbiddenChars.ToCharArray();
                var filter    = new ForbiddenCharsFilter(chars);

                return(filter.ShouldChangeText(textField, oldText, range, newText));
            });

            Assert.Equal(expectedResult, result);
        }
        public void ShouldChangeText_DefaultRange_ReturnsExpectedResult()
        {
            var filter = new ForbiddenCharsFilter('%');

            var result = filter.ShouldChangeText(null !, "old", default, "new");
        public void Ctor_Chars_ReturnsITextFilter()
        {
            var obj = new ForbiddenCharsFilter('@', '+', '#');

            Assert.IsAssignableFrom <ITextFilter>(obj);
        }
        public void Ctor_Empty_ReturnsITextFilter()
        {
            var obj = new ForbiddenCharsFilter();

            Assert.IsAssignableFrom <ITextFilter>(obj);
        }