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