From 052ee10fd85354ca230369d53867aa29672d5d96 Mon Sep 17 00:00:00 2001 From: Antoine ELIAS Date: Wed, 30 Jan 2013 10:00:05 +0100 Subject: [PATCH] update deff test and ref Change-Id: If252aa76d7b52c194fb8f330cde782cf7caf9cbe --- .../functions/tests/unit_tests/deff.dia.ref | 43 +++++++++++++++--- scilab/modules/functions/tests/unit_tests/deff.tst | 46 +++++++++++++++++--- 2 files changed, 77 insertions(+), 12 deletions(-) diff --git a/scilab/modules/functions/tests/unit_tests/deff.dia.ref b/scilab/modules/functions/tests/unit_tests/deff.dia.ref index beaf779..b760f5d 100644 --- a/scilab/modules/functions/tests/unit_tests/deff.dia.ref +++ b/scilab/modules/functions/tests/unit_tests/deff.dia.ref @@ -4,9 +4,40 @@ // // This file is distributed under the same license as the Scilab package. // ============================================================================= -deff('[x] = myplus(y,z)','x=y+z'); -if isdef('myplus') <> %t then bugmes();quit;end -if myplus(3,2) <> 5 then bugmes();quit;end -deff('[x] = mymacro(y,z)',['a=3*y+1'; 'x=a*z+y']); -if isdef('mymacro') <> %t then bugmes();quit;end -if mymacro(5,2) <> 37 then bugmes();quit;end +// <-- CLI SHELL MODE --> +deff("[x] = myplus(y,z)","x=y+z"); +assert_checktrue(isdef("myplus")); +assert_checkequal(myplus(3,2), 5); +clear myplus; +assert_checkfalse(isdef("myplus")); +deff("[x] = mymacro(y,z)",["a=3*y+1"; "x=a*z+y"]); +assert_checktrue(isdef("mymacro")); +assert_checkequal(mymacro(5,2), 37); +clear mymacro; +assert_checkfalse(isdef("mymacro")); +deff("[a,b,c] = mymacro(varargin)",["a = varargin(1); b = varargin(2) * a; c = varargin(3) * b"]); +assert_checktrue(isdef("mymacro")); +[a,b,c] = mymacro(3,4,5); +assert_checkequal(a, 3); +assert_checkequal(b, 12); +assert_checkequal(c, 60); +clear mymacro; +assert_checkfalse(isdef("mymacro")); +deff("[varargout] = mymacro(varargin)",["for i = 1 : size(varargin)"; " varargout(i) = varargin(i) * 2;";"end"]); +assert_checktrue(isdef("mymacro")); +[a,b,c] = mymacro(3,4,5); +assert_checkequal(a, 6); +assert_checkequal(b, 8); +assert_checkequal(c, 10); +clear mymacro; +assert_checkfalse(isdef("mymacro")); +deff("[varargout] = mymacro(varargin)", ["deff(""varargout = mymacro2(varargin)"", [""for i = 1 : size(varargin)""; "" varargout(i) = varargin(i) * 2;"";""end""]);";"[a,b,c] = mymacro2(varargin(:));";"varargout(1) = a*2;";"varargout(2) = b*2;";"varargout(3) = c*2;"]); +assert_checktrue(isdef("mymacro")); +assert_checkfalse(isdef("mymacro2")); +[a,b,c] = mymacro(3,4,5); +assert_checkequal(a, 12); +assert_checkequal(b, 16); +assert_checkequal(c, 20); +assert_checkfalse(isdef("mymacro2")); +clear mymacro; +assert_checkfalse(isdef("mymacro")); diff --git a/scilab/modules/functions/tests/unit_tests/deff.tst b/scilab/modules/functions/tests/unit_tests/deff.tst index 704a539..b724c91 100644 --- a/scilab/modules/functions/tests/unit_tests/deff.tst +++ b/scilab/modules/functions/tests/unit_tests/deff.tst @@ -7,10 +7,44 @@ // <-- CLI SHELL MODE --> -deff('[x] = myplus(y,z)','x=y+z'); -if isdef('myplus') <> %t then pause,end -if myplus(3,2) <> 5 then pause,end +deff("[x] = myplus(y,z)","x=y+z"); +assert_checktrue(isdef("myplus")); +assert_checkequal(myplus(3,2), 5); +clear myplus; +assert_checkfalse(isdef("myplus")); + +deff("[x] = mymacro(y,z)",["a=3*y+1"; "x=a*z+y"]); +assert_checktrue(isdef("mymacro")); +assert_checkequal(mymacro(5,2), 37); +clear mymacro; +assert_checkfalse(isdef("mymacro")); + +deff("[a,b,c] = mymacro(varargin)",["a = varargin(1); b = varargin(2) * a; c = varargin(3) * b"]); +assert_checktrue(isdef("mymacro")); +[a,b,c] = mymacro(3,4,5); +assert_checkequal(a, 3); +assert_checkequal(b, 12); +assert_checkequal(c, 60); +clear mymacro; +assert_checkfalse(isdef("mymacro")); + +deff("[varargout] = mymacro(varargin)",["for i = 1 : size(varargin)"; " varargout(i) = varargin(i) * 2;";"end"]); +assert_checktrue(isdef("mymacro")); +[a,b,c] = mymacro(3,4,5); +assert_checkequal(a, 6); +assert_checkequal(b, 8); +assert_checkequal(c, 10); +clear mymacro; +assert_checkfalse(isdef("mymacro")); + +deff("[varargout] = mymacro(varargin)", ["deff(""varargout = mymacro2(varargin)"", [""for i = 1 : size(varargin)""; "" varargout(i) = varargin(i) * 2;"";""end""]);";"[a,b,c] = mymacro2(varargin(:));";"varargout(1) = a*2;";"varargout(2) = b*2;";"varargout(3) = c*2;"]); +assert_checktrue(isdef("mymacro")); +assert_checkfalse(isdef("mymacro2")); +[a,b,c] = mymacro(3,4,5); +assert_checkequal(a, 12); +assert_checkequal(b, 16); +assert_checkequal(c, 20); +assert_checkfalse(isdef("mymacro2")); +clear mymacro; +assert_checkfalse(isdef("mymacro")); -deff('[x] = mymacro(y,z)',['a=3*y+1'; 'x=a*z+y']); -if isdef('mymacro') <> %t then pause,end -if mymacro(5,2) <> 37 then pause,end -- 1.7.9.5