43 lines
1.4 KiB
Matlab
43 lines
1.4 KiB
Matlab
function assertEqual(A, B, custom_message)
|
|
%assertEqual Assert that inputs are equal
|
|
% assertEqual(A, B) throws an exception if A and B are not equal. A and B
|
|
% must have the same class and sparsity to be considered equal.
|
|
%
|
|
% assertEqual(A, B, MESSAGE) prepends the string MESSAGE to the assertion
|
|
% message if A and B are not equal.
|
|
%
|
|
% Examples
|
|
% --------
|
|
% % This call returns silently.
|
|
% assertEqual([1 NaN 2], [1 NaN 2]);
|
|
%
|
|
% % This call throws an error.
|
|
% assertEqual({'A', 'B', 'C'}, {'A', 'foo', 'C'});
|
|
%
|
|
% See also assertElementsAlmostEqual, assertVectorsAlmostEqual
|
|
|
|
% Steven L. Eddins
|
|
% Copyright 2008-2010 The MathWorks, Inc.
|
|
|
|
if nargin < 3
|
|
custom_message = '';
|
|
end
|
|
|
|
if ~ (issparse(A) == issparse(B))
|
|
message = xunit.utils.comparisonMessage(custom_message, ...
|
|
'One input is sparse and the other is not.', A, B);
|
|
throwAsCaller(MException('assertEqual:sparsityNotEqual', '%s', message));
|
|
end
|
|
|
|
if ~strcmp(class(A), class(B))
|
|
message = xunit.utils.comparisonMessage(custom_message, ...
|
|
'The inputs differ in class.', A, B);
|
|
throwAsCaller(MException('assertEqual:classNotEqual', '%s', message));
|
|
end
|
|
|
|
if ~isequalwithequalnans(A, B)
|
|
message = xunit.utils.comparisonMessage(custom_message, ...
|
|
'Inputs are not equal.', A, B);
|
|
throwAsCaller(MException('assertEqual:nonEqual', '%s', message));
|
|
end
|
|
|