matlab.unittest.constraints.IsInstanceOf class

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

Ограничение, определяющее включение в заданную иерархию классов

Конструкция

IsInstanceOf(class) задает ограничение, задающее включение в заданную иерархию классов. Ограничение удовлетворяется, если фактическое значение образца проходит отношение «isa» с class .

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

class

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

Свойства

Class

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

Копировать семантику

Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsInstanceOf

testCase = TestCase.forInteractiveUse;

Проверьте, что фактическое значение 5 является образцом класса double.

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

Повторите тест с использованием образца meta.class вместо вектора символов.

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

Предположим, что нуль является образцом логического класса.

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

---------------------
Framework Diagnostic:
---------------------
IsInstanceOf failed.
--> The value must be an instance of the expected type.
    
    Actual Class:
        double
    Expected Type:
        logical

Actual Value:
         0
Assertion failed.

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

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

Проверьте, что name является образцом char класс.

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

---------------------
Framework Diagnostic:
---------------------
IsInstanceOf failed.
--> The value must be an instance of the expected type.
    
    Actual Class:
        double
    Expected Type:
        char

Actual Value:
        42

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

classdef DerivedExample < handle
end

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.IsInstanceOf

testCase = TestCase.forInteractiveUse;

Проверьте, что образец DerivedExample класс является образцом handle.

exObj = DerivedExample;
testCase.verifyThat(exObj, IsInstanceOf(?handle))
Interactive verification passed.

Хотя exObj не является образцом handle класс, верификация проходит, потому что она происходит от handle класс.

См. также

|