matlab.unittest.constraints.IsSubstringOf class

Package: matlab.unittest.constraints
Superclasses: matlab.unittest.constraints.BooleanConstraint

Constraint specifying substring of another string

Construction

IsSubstringOf(superstring) creates a constraint specifying a substring of another string. The constraint is satisfied only if the actual value is contained within an expected string, superstring.

IsSubstringOf(superstring,Name,Value) provides a constraint with additional options specified by one or more Name,Value pair arguments. Name must appear inside single quotes (''). You can specify several name-value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Input Arguments

superstring

Text that contains the actual value, specified as a string. superstring can include newline characters.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

'IgnoringCase'

Indicator if the constraint is insensitive to case, specified as false or true (logical 0 or 1)

Default: false

'IgnoringWhitespace'

Indicator if the constraint is insensitive to whitespace, specified as false or true (logical 0 or 1)

Default: false

Properties

IgnoreCase

Indicator if the constraint is insensitive to case, specified in the name-value pair argument, 'IgnoringCase'. This property applies at all levels of recursion, such as nested structures.

IgnoreWhitespace

Indicator if the constraint is insensitive to whitespace, specified in the name-value pair argument, 'IgnoringWhitespace'. This property applies at all levels of recursion, such as nested structures.

Superstring

String that includes the actual value, specified in the input argument, superstring.

Copy Semantics

Value. To learn how value classes affect copy operations, see Copying Objects in the MATLAB® documentation.

Examples

expand all

Test That Actual Value Is Substring of Specified String

Create a test case for interactive testing.

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsSubstringOf

testCase = TestCase.forInteractiveUse;

Define the actual value string.

S = 'This Is One Long String';

Test that the actual value string, 'One', is contained in S.

testCase.verifyThat('One', IsSubstringOf(S))
Interactive verification passed.

Test that the actual value string, 'long', is contained in S.

testCase.verifyThat('long', IsSubstringOf(S))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsSubstringOf failed.
--> The string must be found within the superstring.

Actual String:
    long
Expected Superstring:
    This Is One Long String

By default, the IsSubstringOf constraint is case sensitive.

Repeat the test ignoring case.

testCase.verifyThat('long', IsSubstringOf(S,...
    'IgnoringCase', true))
Interactive verification passed.

Test that the actual value string, 'thisisone', is contained in S. For the test to pass, configure the constraint to ignore whitespace and case.

testCase.verifyThat('thisisone', IsSubstringOf(S, ...
    'IgnoringCase', true, 'IgnoringWhitespace', true))
Interactive verification passed.

Assert that the actual value string, 'longer', is not contained in S.

testCase.assertThat('Longer', ~IsSubstringOf(S))
Interactive assertion passed.
Was this topic helpful?