% OBJECTEQUALSWITHEXCEPTION Assert that two ltpda_obj objects are equal with an exception list.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: Assert that two ltpda_obj objects are equal with an% exception list.% objectEquals(A, B) throws an AssertionFailed exception if% eq(A,B, exception_list) is not equal. A and B must have the% same class and the same length.%% COMMAND: Assert.objectEqualsWithException(val1, val2, exceptions)% Assert.objectEqualsWithException(val1, val2, exceptions, message)%% EXCEPTIONS: - a cell array with the exceptions.% - a PLIST with the parameter 'Exceptions' for the key and a% cell array with exceptions for the value.%% VERSION: $Id: objectEqualsWithException.m,v 1.1 2011/06/20 16:32:56 ingo Exp $%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function objectEqualsWithException(val1, val2, ex, varargin) % Check number in input arguments if nargin < 3 Assert.fail('This function needs at least three inputs.'); end % Check class of the input arguments if ~strcmp(class(val1), class(val2)) Assert.fail('The input arguments must be from the same class.'); end % Check class of the input arguments if ~isa(val1, 'ltpda_obj') Assert.fail('The input arguments must be derived from the ltpda_obj class.'); end % Check the exception list if isa(ex, 'plist') && ex.isparam('Exceptions') ex = ex.find('Exceptions'); elseif iscell(ex) % Don't do anything else Assert.fail('The exception list must be a cell array or a PLIST.'); end % Check the length of the inputs if numel(val1) ~= numel(val2) Assert.fail('The input arguments don''t have the same length.'); end if ~eq(val1, val2, ex{:}) Assert.fail(varargin{:}); endend