Пакет: matlab.unittest.constraints
Компаратор для массивов структур MATLAB
StructComparator создает компаратор для MATLAB® массивы структур.
StructComparator( указывает на компаратор, compObj)compObj, это задает компаратор, используемый, чтобы сравнить значения, содержавшиеся в структуре. По умолчанию, StructComparator поддержки только пустые массивы структур.
StructComparator( предоставляет компаратору дополнительные опции, заданные одним или несколькими compObj,Name,Value)Name,Value парные аргументы.
StructComparator( обеспечивает компаратор для пустых массивов структур с дополнительными опциями, заданными одним или несколькими Name,Value)Name,Value парные аргументы.
|
Поля, чтобы проигнорировать во время сравнения struct, заданного в аргументе пары "имя-значение", |
|
Индикатор того, действует ли компаратор рекурсивно, заданный в аргументе пары "имя-значение", |
Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел "Копирование объектов".
В большинстве случаев вы не обязаны использовать StructComparator объект. 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)))