Пакет: 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
экземпляр. IsEqualTo
класс создает ограничение, чтобы протестировать на равенство между данными различных типов, объектов including 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))
matlab.unittest.constraints.IsEqualTo
| matlab.unittest.constraints.Tolerance
| isequal