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