matlab.unittest.constraints.NumericComparator class

Пакет: matlab.unittest.constraints

Компаратор для типов числовых данных

Конструкция

NumericComparator создает компаратор для типов числовых данных. Компаратору удовлетворяют, имеют ли входные параметры тот же класс с эквивалентным размером, сложностью, и разреженностью и встроенным isequaln функция возвращает true.

NumericComparator('Within',tolObj) создает компаратор с помощью заданного допуска. В этом случае, NumericComparator первые проверки на эквивалентный класс, размер и разреженность фактических и ожидаемых значений. Если эти проверки перестали работать, компаратору не удовлетворяют. Если эти проверки передача и isequaln или сложность проверяет сбои, NumericComparator сравнение делегатов с предоставленным допуском, tolObj.

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

tolObj

matlab.unittest.constraints.Tolerance экземпляр

Свойства

Tolerance

Определенный допуск используется в конструкции компаратора в виде Tolerance объект в tolObj входной параметр

Примеры

свернуть все

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

import matlab.unittest.TestCase
import matlab.unittest.constraints.NumericComparator
import matlab.unittest.constraints.IsEqualTo

testCase = TestCase.forInteractiveUse;

Используйте числовой компаратор, чтобы протестировать тот 1.618 равно 1.618.

testCase.verifyThat(1.618, IsEqualTo(1.618,...
    'Using', NumericComparator))
Verification passed.

Проверьте тот (1+sqrt(5))/2 равно 1.618.

testCase.verifyThat((1+sqrt(5))/2, IsEqualTo(1.618, ...
    'Using', NumericComparator))
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IsEqualTo failed.
    --> NumericComparator failed.
        --> The numeric values are not equal using "isequaln".
        --> Failure table:
                     Actual         Expected           Error               RelativeError    
                ________________    ________    ____________________    ____________________
                1.61803398874989     1.618      3.39887498947977e-05    2.10066439399244e-05
        
        Actual Value:
           1.618033988749895
        Expected Value:
           1.618000000000000

Перетест с помощью относительной погрешности 0.25%.

import matlab.unittest.constraints.RelativeTolerance

testCase.verifyThat((1+sqrt(5))/2, IsEqualTo(1.618, ...
    'Using', NumericComparator('Within', RelativeTolerance(0.0025))))
Verification passed.
Введенный в R2013a