matlab.unittest.constraints.IsOfClass class

Пакет: matlab.unittest.constraints
Суперклассы: matlab.unittest.constraints.BooleanConstraint

Ограничение, задающее тип класса

Конструкция

IsOfClass(class) обеспечивает ограничение, задающее тип класса. Ограничению удовлетворяют, является ли фактическое значение тем же классом как class . Ограничению не удовлетворяют, выводит ли фактическое значение из class.

Входные параметры

class

Имя класса, которое должно быть соответствующим фактическим значением, чтобы удовлетворить ограничению, заданному как полностью определенное имя класса, представленное вектором символов или meta.class экземпляр.

Свойства

Class

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

Примеры

свернуть все

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsOfClass

testCase = TestCase.forInteractiveUse;

Проверьте, что фактическое значение, 5, является двойным.

testCase.verifyThat(5, IsOfClass('double'))
Interactive verification passed.

Повторите тест с помощью экземпляра meta.class вместо вектора символов.

testCase.verifyThat(5, IsOfClass(?double))
Interactive verification passed.

Утверждайте, что нуль является экземпляром логического класса.

testCase.assertThat(0, IsOfClass('logical'))
Interactive assertion failed.

---------------------
Framework Diagnostic:
---------------------
IsOfClass failed.
--> The value's class is incorrect.
    
    Actual Class:
        double
    Expected Class:
        logical

Actual Value:
         0
Assertion failed.

Проверьте тот @sin указатель на функцию.

testCase.verifyThat(@sin, IsOfClass(?function_handle))
Interactive verification passed.

Проверьте тот name экземпляр char класс.

name = 42;
testCase.verifyThat(name, IsOfClass('char'))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsOfClass failed.
--> The value's class is incorrect.
    
    Actual Class:
        double
    Expected Class:
        char

Actual Value:
        42

В файле в вашей рабочей папке создайте класс, DerivedExample, это наследовалось handle класс.

classdef DerivedExample < handle
end

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsOfClass

testCase = TestCase.forInteractiveUse

Проверьте что экземпляр DerivedExample класс является экземпляром handle.

exObj = DerivedExample;
testCase.verifyThat(exObj, IsOfClass(?handle))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IsOfClass failed.
--> The value's class is incorrect.
    
    Actual Class:
        DerivedExample
    Expected Class:
        handle

Actual Value:
      DerivedExample with no properties.

Даже при том, что exObj выводит из handle класс, это не экземпляр handle класс.

Проверьте что экземпляр DerivedExample класс является экземпляром DerivedExample.

testCase.verifyThat(exObj, IsOfClass(?DerivedExample))
Interactive verification passed.

Смотрите также

|