Assert_checkequal does not look for hypermat inner type. 84/13684/2
Bruno JOFRET [Fri, 7 Feb 2014 11:41:25 +0000 (12:41 +0100)]
Change-Id: Id585e13362813002c8e174973cb5d10fb6b74cd9

scilab/modules/development_tools/macros/assert/assert_checkequal.sci
scilab/modules/development_tools/tests/unit_tests/assert/checkequal.dia.ref
scilab/modules/development_tools/tests/unit_tests/assert/checkequal.tst

index 17fad04..61a139f 100644 (file)
@@ -54,6 +54,18 @@ function [flag,errmsg] = assert_checkequal ( computed , expected )
         errmsg = sprintf ( gettext ( "%s: Incompatible input arguments #%d and #%d: Same types expected.\n" ) , "assert_checkequal" , 1 , 2 )
         error(errmsg)
     end
+
+    //
+    // Check hypermat type
+    if (typeof(computed) == "hypermat") then
+        // Check on first element type
+        if (typeof(computed(1)) <> typeof(expected(1))) then
+            errmsg = sprintf ( gettext ( "%s: Incompatible input arguments #%d and #%d: Same types expected.\n" ) , "assert_checkequal" , 1 , 2 )
+            error(errmsg)
+        end
+    end
+
+
     //
     // Check sizes of variables
     if ( or(type(computed)==[16 17]) ) then
index 2578085..a38e5de 100644 (file)
@@ -108,12 +108,12 @@ checkassert ( flag , errmsg , "success" );
 //
 //  Mlist
 s=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
-t=s; 
+t=s;
 assert_checkequal(s, t);
 //
 //  Tlist
 s=tlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
-t=s; 
+t=s;
 assert_checkequal(s, t);
 //
 // Polynomial
@@ -150,3 +150,19 @@ assert_checkequal(s, t);
 s=list("foo",2);
 t=s;
 assert_checkequal(s, t);
+//
+// Hypermatrix
+// - Double
+s = rand(2,2,2);
+t = s;
+assert_checkequal(s,t);
+// - int8
+s = int8(rand(2,2,2));
+t = s;
+assert_checkequal(s,t);
+// - wrong type
+s = rand(2,2,2);
+t = int8(s);
+instr="assert_checkequal(s, t)";
+ierr=execstr(instr,"errcatch");
+MY_assert_equal(ierr, 10000);
index 4025acc..a701b96 100644 (file)
@@ -114,12 +114,12 @@ checkassert ( flag , errmsg , "success" );
 //
 //  Mlist
 s=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
-t=s; 
+t=s;
 assert_checkequal(s, t);
 //
 //  Tlist
 s=tlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
-t=s; 
+t=s;
 assert_checkequal(s, t);
 //
 // Polynomial
@@ -156,6 +156,24 @@ assert_checkequal(s, t);
 s=list("foo",2);
 t=s;
 assert_checkequal(s, t);
+//
+// Hypermatrix
+// - Double
+s = rand(2,2,2);
+t = s;
+assert_checkequal(s,t);
+// - int8
+s = int8(rand(2,2,2));
+t = s;
+assert_checkequal(s,t);
+// - wrong type
+s = rand(2,2,2);
+t = int8(s);
+instr="assert_checkequal(s, t)";
+ierr=execstr(instr,"errcatch");
+MY_assert_equal(ierr, 10000);
+
+