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, является экземпляром двойного класса.

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 класс.

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

|