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.

См. также

|