Mercurial > hg > ltpda
diff m-toolbox/classes/tests/@Assert/doubleEqualsWithAccuracy.m @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/classes/tests/@Assert/doubleEqualsWithAccuracy.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,32 @@ +% DOUBLEEQUALSWITHACCURACY Assert that two doubles are equal within some tolerance. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% DESCRIPTION: Assert that two doubles are equal within some tolerance. +% doubleEqualsWithAccuracy(A, B, tol) throws an +% AssertionFailed exception if A and B are not equal within a +% tolerance. +% A and B must have the same class and the same length. +% +% COMMAND: Assert.doubleEquals(val1, val2, tol) +% Assert.doubleEquals(val1, val2, tol, message) +% +% VERSION: $Id: doubleEqualsWithAccuracy.m,v 1.1 2011/06/20 16:32:56 ingo Exp $ +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +function doubleEqualsWithAccuracy(val1, val2, tol, varargin) + + % Check class of the input arguments + if ~isnumeric(val1) || ~isnumeric(val2) + Assert.fail('The input arguments must be two double.'); + 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 abs(val1 - val2) > tol + Assert.fail(varargin{:}); + end + +end