StringConstraint
StringConstraint is the abstract base for constraints
            that operate on strings. It supports the IgnoreCase
            modifier for string operations.
            
                
Indicates whether tests should be case-insensitive
            
Description of this constraint
            
The expected value
            
Modify the constraint to ignore case in matching.
            
protected StringConstraint()
Constructs a StringConstraint without an expected value
            
Constructs a StringConstraint given an expected value
            
Test whether the constraint is satisfied by a given string