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

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

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

|