Пакет: matlab.unittest.constraints
Компаратор для массивов структур MATLAB
StructComparator создает компаратор для MATLAB® массивы структур.
StructComparator( указывает компаратор, compObj)compObj, который определяет компаратор, используемый для сравнения значений, содержащихся в структуре. По умолчанию a StructComparator поддерживает только пустые массивы структур.
StructComparator( предоставляет компаратору дополнительные опции, заданные одним или несколькими compObj,Name,Value)Name,Value аргументы в виде пар.
StructComparator( предоставляет компаратор для пустых массивов структур с дополнительными опциями, заданными одним или несколькими Name,Value)Name,Value аргументы в виде пар.
|
Поля, которые нужно игнорировать во время сравнения struct, заданные в аргументе пары "имя-значение", |
|
Индикатор того, работает ли компаратор рекурсивно, заданный в аргументе пары "имя-значение", |
Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».
В большинстве случаев вы не обязаны использовать StructComparator объект. The IsEqualTo класс создает ограничение для проверки на равенство между данными различных типов, включая структуры.
Использование StructComparator объект, когда вам нужно переопределить сравнение, выполненное IsEqualTo класс. Например, если вы хотите, чтобы сравнение не прошло, когда структуры включают нечисловые значения, включите StructComparator объект в вашем тесте. В этом примере MATLAB выдает исключение из-за s1 и s2 содержат нечисловые значения.
import matlab.unittest.constraints.IsEqualTo import matlab.unittest.constraints.StructComparator import matlab.unittest.constraints.NumericComparator s1 = struct('f1',zeros(1,10),'f2','a','f3',{'b','c'}); s2 = s1; testCase = matlab.unittest.TestCase.forInteractiveUse; testCase.verifyThat(s2,IsEqualTo(s1,'Using',StructComparator(NumericComparator)))