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