Update tests of nthroot function. 35/12135/4
Adeline CARNIS [Thu, 25 Jul 2013 15:10:33 +0000 (17:10 +0200)]
Change-Id: I595b758862355bd074bc574a3f3ffc6dc3864caf

scilab/modules/elementary_functions/macros/nthroot.sci
scilab/modules/elementary_functions/tests/unit_tests/nthroot.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/nthroot.tst

index a2b1a29..86e3272 100644 (file)
@@ -17,13 +17,17 @@ function y = nthroot(x,n)
     end
 
     // If x or n are not real
-    if ((typeof(x) <> "constant" | ~isreal(x)) | (typeof(n) <> "constant" | ~isreal(n))) then
-        error(msprintf(gettext("%s: Wrong type for input argument(s) #%d: Real arguments expected.\n"),"nthroot", 2));
+    if typeof(x) <> "constant" | ~isreal(x)  then
+        error(msprintf(gettext("%s: Wrong type for input argument #%d: Real scalar or matrix expected.\n"),"nthroot", 1));
+    end
+    
+    if typeof(n) <> "constant" | ~isreal(n) then
+        error(msprintf(gettext("%s: Wrong type for input argument #%d: Real scalar or matrix expected.\n"),"nthroot", 2));
     end
 
     // If n is a vector which size is different from x's
     if (size(n,"*")>1 & size(n,"*")<>size(x,"*")) then
-        error(msprintf(gettext("%s: Wrong size for input argument(s) #%d: vectors should have same size.\n"),"nthroot", 2));
+        error(msprintf(gettext("%s: Wrong size for input argument #%d and #%d: Same sizes expected.\n"),"nthroot", 1, 2));
     end
 
     reste = modulo(n,2);
index ca1351d..ac2bd3a 100644 (file)
 // 1. Interface
 // ============
 assert_checkfalse(execstr("nthroot()",          "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
- ans  =
- nthroot: Wrong number of input argument(s): 2 expected.   
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "nthroot", 2);
+assert_checkerror("nthroot()", refMsg);
 assert_checkfalse(execstr("nthroot(1)",         "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
- ans  =
- nthroot: Wrong number of input argument(s): 2 expected.   
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "nthroot", 2);
+assert_checkerror("nthroot(1)", refMsg);
 assert_checkfalse(execstr("nthroot(%i, 1)",    "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
- ans  =
- nthroot: Wrong type for input argument(s) #2: Real arguments expected. 
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: Real scalar or matrix expected.\n"), "nthroot", 1);
+assert_checkerror("nthroot(%i, 1)", refMsg);
 assert_checkfalse(execstr("nthroot(%t, 1)",    "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
- ans  =
- nthroot: Wrong type for input argument(s) #2: Real arguments expected. 
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: Real scalar or matrix expected.\n"), "nthroot", 1);
+assert_checkerror("nthroot(%t, 1)", refMsg);
 assert_checkfalse(execstr("nthroot(-2, %nan)", "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
- ans  =
- nthroot: If x is negative, then n must contain odd integers only.   
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-2, %nan)", refMsg);
 assert_checkfalse(execstr("nthroot(-2, %eps)", "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
- ans  =
- nthroot: If x is negative, then n must contain odd integers only.   
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-2, %eps)", refMsg);
 assert_checkfalse(execstr("nthroot(-3, 6)",     "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
- ans  =
- nthroot: If x is negative, then n must contain odd integers only.   
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-3, 6)", refMsg);
 assert_checkfalse(execstr("nthroot(-3, 0)",     "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
- ans  =
- nthroot: If x is negative, then n must contain odd integers only.   
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-3, 0)", refMsg);
 assert_checkfalse(execstr("nthroot(-%inf, -2)", "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
- ans  =
- nthroot: If x is negative, then n must contain odd integers only.   
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-%inf, -2)", refMsg);
 assert_checkfalse(execstr("nthroot(-2, -2)",     "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
- ans  =
- nthroot: If x is negative, then n must contain odd integers only.   
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-2, -2)", refMsg);
 assert_checkfalse(execstr("nthroot(-2, 2)",      "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
- ans  =
- nthroot: If x is negative, then n must contain odd integers only.   
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-2, 2)", refMsg);
 assert_checktrue(nthroot(3, []) == 3);
 // 2. Singular Values
 // ==================
index 52f90be..8fd6544 100644 (file)
 // 1. Interface
 // ============
 assert_checkfalse(execstr("nthroot()",          "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "nthroot", 2);
+assert_checkerror("nthroot()", refMsg);
 assert_checkfalse(execstr("nthroot(1)",         "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "nthroot", 2);
+assert_checkerror("nthroot(1)", refMsg);
 assert_checkfalse(execstr("nthroot(%i, 1)",    "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: Real scalar or matrix expected.\n"), "nthroot", 1);
+assert_checkerror("nthroot(%i, 1)", refMsg);
 assert_checkfalse(execstr("nthroot(%t, 1)",    "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: Real scalar or matrix expected.\n"), "nthroot", 1);
+assert_checkerror("nthroot(%t, 1)", refMsg);
 assert_checkfalse(execstr("nthroot(-2, %nan)", "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-2, %nan)", refMsg);
 assert_checkfalse(execstr("nthroot(-2, %eps)", "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-2, %eps)", refMsg);
 assert_checkfalse(execstr("nthroot(-3, 6)",     "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-3, 6)", refMsg);
 assert_checkfalse(execstr("nthroot(-3, 0)",     "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-3, 0)", refMsg);
 assert_checkfalse(execstr("nthroot(-%inf, -2)", "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-%inf, -2)", refMsg);
 assert_checkfalse(execstr("nthroot(-2, -2)",     "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-2, -2)", refMsg);
 assert_checkfalse(execstr("nthroot(-2, 2)",      "errcatch") == 0);
-lasterror(execstr("10000","errcatch") == 0)
+refMsg = msprintf(_("%s: If x is negative, then n must contain odd integers only.\n"), "nthroot");
+assert_checkerror("nthroot(-2, 2)", refMsg);
+
 assert_checktrue(nthroot(3, []) == 3);
 
 // 2. Singular Values