matlab.unittest.constraints. Класс IsOfClass

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

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

|