Пакет: matlab.unittest.constraints
Компаратор для типов числовых данных
NumericComparator
создает компаратор для типов числовых данных. Компаратор удовлетворяется, если входы имеют один и тот же класс с эквивалентным размером, сложностью и разреженностью, и встроенный isequaln
функция возвращает true
.
NumericComparator('Within',
создает компаратор с заданным допуском. В этом случае tolObj
)NumericComparator
сначала проверяется эквивалентный класс, размер и разреженность фактических и ожидаемых значений. Если эти проверки не выполняются, компаратор не удовлетворяется. Если эти проверки проходят, и isequaln
или проверка сложности не пройдена, NumericComparator
делегирует сравнение с предоставленным допуском, tolObj
.
|
|
|
Специфический допуск, используемый в конструкции компаратора, задается как |
Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».
В большинстве случаев вы не обязаны использовать NumericComparator
объект. The IsEqualTo
класс создает ограничение для проверки на равенство между данными различных типов, включая числовые значения.
Использование NumericComparator
объект, когда вам нужно переопределить сравнение, выполненное IsEqualTo
класс. Например, если вы хотите, чтобы сравнение не прошло, когда фактические и ожидаемые значения нечисловые, включите NumericComparator
объект в вашем тесте. Можно также использовать NumericComparator
для ограничения значений, содержащихся в структурах, массивах ячеек и таблицах. В этом примере MATLAB® выдает исключение, поскольку фактические и ожидаемые значения являются массивами ячеек.
import matlab.unittest.constraints.IsEqualTo import matlab.unittest.constraints.NumericComparator exp = {1,2,3}; act = exp; testCase = matlab.unittest.TestCase.forInteractiveUse; testCase.verifyThat(act,IsEqualTo(exp,'Using',NumericComparator))