public async Task IsValid(CharacterType characterType, int minimumCharactersNumber, int maximumCharactersNumber, string value, bool expectedValue)
        {
            // Arrange
            var behavior = new CharactersValidationBehavior
            {
                CharacterType         = characterType,
                MinimumCharacterCount = minimumCharactersNumber,
                MaximumCharacterCount = maximumCharactersNumber
            };

            var multiBehavior = new MultiValidationBehavior();

            multiBehavior.Children.Add(behavior);

            var entry = new Entry
            {
                Text = value
            };

            entry.Behaviors.Add(multiBehavior);

            // Act
            await multiBehavior.ForceValidate();

            // Assert
            Assert.AreEqual(expectedValue, multiBehavior.IsValid);
        }
        public void IsValid(CharacterType characterType, int minimumCharactersNumber, int maximumCharactersNumber, string value, bool expectedValue)
        {
            var behavior = new CharactersValidationBehavior
            {
                CharacterType         = characterType,
                MinimumCharacterCount = minimumCharactersNumber,
                MaximumCharacterCount = maximumCharactersNumber
            };
            var entry = new Entry
            {
                Text = value
            };

            entry.Behaviors.Add(behavior);
            behavior.ForceValidate();
            Assert.Equal(expectedValue, behavior.IsValid);
        }