From e6a7dde1731052acf0f8c32ff993c4c1718167ec Mon Sep 17 00:00:00 2001 From: "Nikolaas N. Oosterhof" Date: Mon, 8 May 2017 14:03:05 +0200 Subject: [PATCH] TST: allow different order of covered lines --- tests/test_mocov_line_covered.m | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/tests/test_mocov_line_covered.m b/tests/test_mocov_line_covered.m index ddcb213..64573ff 100644 --- a/tests/test_mocov_line_covered.m +++ b/tests/test_mocov_line_covered.m @@ -5,7 +5,7 @@ function test_mocov_line_covered_basics() initial_state=mocov_line_covered(); cleaner=onCleanup(@()mocov_line_covered(initial_state)); - aet=@(varargin_assertExceptionThrown(@()... + aet=@(varargin)assertExceptionThrown(@()... mocov_line_covered(varargin{:})); s=struct(); @@ -31,21 +31,31 @@ function test_mocov_line_covered_basics() [0 0 1];... [0 10 0 1]}; s2=mocov_line_covered(); + first_empty_pos=find(cellfun(@isempty,s2.keys),1); + if ~isempty(first_empty_pos) + s2.keys=s2.keys(1:(first_empty_pos-1)); + end - assertEqual(s.keys,s2.keys); + assert_cell_equal_or_empty(s.keys,s2.keys); n=numel(s.line_count); - assertEqual(n,numel(s2.line_count)); + for k=1:n s_lines=s.line_count{k}; - s2_lines=s2.line_count{k}; - m=s_lines>0; - m2=s2_lines>0; + s2_pos=strmatch(s.keys{k},s2.keys); + assert(numel(s2_pos)==1); + + s2_lines=s2.line_count{s2_pos}; + + msk=s_lines>0; + msk2=s2_lines>0; - assertEqual(find(m),find(m2)); - assertEqual(s_lines(m),s_lines(m2)); + assertEqual(find(msk),find(msk2)); + assertEqual(s_lines(msk),s_lines(msk2)); end +function assert_cell_equal_or_empty(xs,ys) + assertEqual(sort(xs),sort(ys));