matlab.unittest.constraints.EndsWithSubstring class

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

Constraint specifying string ending with substring

Construction

EndsWithSubstring(suffix) creates a constraint specifying a string scalar or character vector ending with a substring. The constraint is satisfied only if the actual value ends with the expected text, suffix.

EndsWithSubstring(suffix,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

suffix

Text that occurs at the end of the actual value, specified as a string scalar or character vector. suffix 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 quotes. You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

'IgnoringCase'

Indicator to ignore case, specified as false or true (logical 0 or 1).

Default: false

'IgnoringWhitespace'

Indicator to ignore whitespace, specified as false or true (logical 0 or 1). If IgnoringWhitespace is true, MATLAB® removes any whitespace characters from both the actual value and the expected value before determining whether the constraint is satisfied.

Note

When IgnoringWhitespace is true, the input argument suffix must contain at least one non-whitespace character.

Default: false

Properties

IgnoreCase

Indicator if the constraint is insensitive to case, specified in the name-value pair argument, 'IgnoringCase'.

IgnoreWhitespace

Indicator if the constraint is insensitive to whitespace, specified in the name-value pair argument, 'IgnoringWhitespace'.

Suffix

Text that occurs at the end of the actual value, specified in the input argument, suffix.

Copy Semantics

Value. To learn how value classes affect copy operations, see Copying Objects.

Examples

collapse all

Create a test case for interactive testing.

import matlab.unittest.TestCase
import matlab.unittest.constraints.EndsWithSubstring

testCase = TestCase.forInteractiveUse;

Define the actual value.

actVal = 'This Is One Long Message';

Test that actVal ends with 'Message'.

testCase.verifyThat(actVal, EndsWithSubstring('Message'))
Verification passed.

Test that actVal ends with 'AgE'.

testCase.verifyThat(actVal, EndsWithSubstring('AgE'))
Verification failed.

---------------------
Framework Diagnostic:
---------------------
EndsWithSubstring failed.
--> The value does not end with the supplied suffix.

Actual char:
    This Is One Long Message
Expected Suffix:
    AgE

By default, the EndsWithSubstring constraint is case sensitive.

Repeat the test ignoring case.

testCase.verifyThat(actVal, EndsWithSubstring('AgE', ...
    'IgnoringCase', true))
Verification passed.

Test that actVal ends with 'longmessage'. For the test to pass, configure the constraint to ignore whitespace and case.

testCase.verifyThat(actVal, EndsWithSubstring('longmessage', ...
    'IgnoringCase', true, 'IgnoringWhitespace', true))
Verification passed.

Assert that actVal does not end with 'long'.

testCase.assertThat(actVal, ~EndsWithSubstring('long'))
Assertion passed.