exponenta event banner

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.

См. также

|