matlab.unittest.constraints.LogicalComparator class

Пакет: 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