public void STR_CONTAINS_CaseInsensitive_False_Does_Not_Match_When_String_Is_Missing()
        {
            // Arrange
            var target     = new StringConstraintOperator();
            var constraint = new Constraint("operator_string_test", Operator.STR_CONTAINS, false, false, null, "something");
            var context    = new UnleashContext();

            context.Properties.Add("operator_string_test", "A sentence containing a word that should be matched");

            // Act
            var result = target.Evaluate(constraint, context);

            // Assert
            result.Should().BeFalse();
        }
        public void STR_ENDS_WITH_CaseInsensitive_True_Matches_When_Case_Differs_Inverted()
        {
            // Arrange
            var target     = new StringConstraintOperator();
            var constraint = new Constraint("operator_string_test", Operator.STR_ENDS_WITH, true, true, null, "matched");
            var context    = new UnleashContext();

            context.Properties.Add("operator_string_test", "A sentence containing a word that should be matched");

            // Act
            var result = target.Evaluate(constraint, context);

            // Assert
            result.Should().BeFalse();
        }
        public void STR_CONTAINS_CaseInsensitive_False_Matches_With_Same_Case_On_Both_Words()
        {
            // Arrange
            var target     = new StringConstraintOperator();
            var constraint = new Constraint("operator_string_test", Operator.STR_CONTAINS, false, false, null, "sentence", "should");
            var context    = new UnleashContext();

            context.Properties.Add("operator_string_test", "A sentence containing a word that should be matched");

            // Act
            var result = target.Evaluate(constraint, context);

            // Assert
            result.Should().BeTrue();
        }
        public void STR_STARTS_WITH_CaseInsensitive_False_Does_Not_Match_When_Case_Differs()
        {
            // Arrange
            var target     = new StringConstraintOperator();
            var constraint = new Constraint("operator_string_test", Operator.STR_STARTS_WITH, false, false, null, "A sentence");
            var context    = new UnleashContext();

            context.Properties.Add("operator_string_test", "A SENTENCE containing a word that should be matched");

            // Act
            var result = target.Evaluate(constraint, context);

            // Assert
            result.Should().BeFalse();
        }