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