exponenta event banner

класс matlab.unittest.constraints.LogicalComparator

Пакет: matlab.unittest.constraints

Компаратор для двух логических значений

Строительство

LogicalComparator создает компаратор для двух логических значений. Компаратор удовлетворяется, если фактические и ожидаемые значения имеют одинаковую разреженность и логические значения эквивалентны.

Копирование семантики

Значение. Сведения о том, как классы значений влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

свернуть все

Создайте тестовый пример для интерактивного тестирования.

import matlab.unittest.TestCase
import matlab.unittest.constraints.LogicalComparator
import matlab.unittest.constraints.IsEqualTo

testCase = TestCase.forInteractiveUse;

Проверить значение true.

testCase.assertThat(true, IsEqualTo(true, ...
    'Using', LogicalComparator))
Interactive assertion passed.

Тестирование массива true значения.

testCase.assertThat([true true true], IsEqualTo(true, ...
    'Using', LogicalComparator))
Interactive assertion failed.

---------------------
Framework Diagnostic:
---------------------
IsEqualTo failed.
--> LogicalComparator failed.
    --> The logical values are not equal

Actual Logical Value:
         1     1     1
Expected Logical Value:
         1
Assertion failed.

Фактическое значение должно быть скалярным логическим, чтобы удовлетворять ограничению.

Сравнить значение 1 кому true.

testCase.verifyThat(1, IsEqualTo(true, 'Using', LogicalComparator))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsEqualTo failed.
--> LogicalComparator failed.
    --> Class check failed.
        --> Classes do not match.
            
            Actual Class:
                double
            Expected Class:
                logical

Actual double:
         1
Expected logical:
         1

Сравнить значение false кому true.

testCase.assertThat(false, IsEqualTo(true, 'Using', LogicalComparator))
Interactive assertion failed.

---------------------
Framework Diagnostic:
---------------------
IsEqualTo failed.
--> LogicalComparator failed.
    --> The logical values are not equal

Actual Logical Value:
         0
Expected Logical Value:
         1
Assertion failed.

Совет

  • В большинстве случаев использование LogicalComparator объект. IsEqualTo создает ограничение для проверки равенства между данными различных типов, включая логические значения.

    Использовать LogicalComparator когда необходимо переопределить сравнение, выполненное IsEqualTo класс. Например, если вы хотите, чтобы сравнение завершилось неудачей, когда фактические и ожидаемые значения являются нелогичными, включите LogicalComparator объект в тесте. Вы также можете использовать LogicalComparator для ограничения значений, содержащихся в структурах, массивах ячеек и таблицах. В этом примере MATLAB ® создает исключение, поскольку фактические и ожидаемые значения являются числовыми массивами.

    import matlab.unittest.constraints.IsEqualTo
    import matlab.unittest.constraints.LogicalComparator
          
    exp = magic(5); 
    act = exp;
    
    testCase = matlab.unittest.TestCase.forInteractiveUse;
    testCase.verifyThat(act,IsEqualTo(exp,'Using',LogicalComparator))
    

Представлен в R2013a