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