MATLAB Programming Fundamentals - MathWorks

(やまだぃちぅ) #1

if constraint.satisfiedBy(actual)
diag = StringDiagnostic('HasSameSizeAs passed.');
else
diag = StringDiagnostic(sprintf(...
'HasSameSizeAs failed.\nActual Size: [%s]\nExpectedSize: [%s]',...
int2str(size(actual)),...
int2str(size(constraint.ValueWithExpectedSize))));
end
end


HasSameSizeAs Class Definition Summary


classdef HasSameSizeAs < matlab.unittest.constraints.Constraint


properties(SetAccess=immutable)
ValueWithExpectedSize
end


methods
function constraint = HasSameSizeAs(value)
constraint.ValueWithExpectedSize = value;
end
function bool = satisfiedBy(constraint, actual)
bool = isequal(size(actual), size(constraint.ValueWithExpectedSize));
end
function diag = getDiagnosticFor(constraint, actual)
import matlab.unittest.diagnostics.StringDiagnostic


if constraint.satisfiedBy(actual)
diag = StringDiagnostic('HasSameSizeAs passed.');
else
diag = StringDiagnostic(sprintf(...
'HasSameSizeAs failed.\nActual Size: [%s]\nExpectedSize: [%s]',...
int2str(size(actual)),...
int2str(size(constraint.ValueWithExpectedSize))));
end
end
end
end


At the command prompt, create a test case for interactive testing.


import matlab.unittest.TestCase


testCase = TestCase.forInteractiveUse;


Test a passing case.


testCase.verifyThat(zeros(5), HasSameSizeAs(repmat(1,5)))


Interactive verification passed.


Test a failing case.


Create Custom Constraint
Free download pdf