3310113decf203a434b1579249f840f9d255ed9d
[scilab.git] / scilab / modules / development_tools / tests / unit_tests / assert / checkequal.dia.ref
1 // Copyright (C) 2008 - INRIA - Michael Baudin
2 // Copyright (C) 2010 - DIGITEO - Michael Baudin
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9 // <-- CLI SHELL MODE -->
10 // <-- ENGLISH IMPOSED -->
11 function flag = MY_assert_equal ( computed , expected )
12   if ( and ( computed==expected ) ) then
13     flag = 1;
14   else
15     flag = 0;
16   end
17   if flag <> 1 then bugmes();quit;end
18 endfunction
19 function checkassert ( flag , errmsg , ctype )
20   if ( ctype == "success" ) then
21     MY_assert_equal ( (flag==%t) & (errmsg==""), %t )
22   else
23     MY_assert_equal ( (flag==%f) & (errmsg<>""), %t )
24   end
25 endfunction
26 format("v",10);
27 // Check error message when number of arguments is false
28 instr = "assert_checkequal ( )";
29 ierr=execstr(instr,"errcatch");
30 MY_assert_equal ( ierr , 10000 );
31 //
32 instr = "assert_checkequal ( 1 )";
33 ierr=execstr(instr,"errcatch");
34 MY_assert_equal ( ierr , 10000 );
35 //
36 instr = "[o1,o2,o3]=assert_checkequal ( 1 , 1 )";
37 ierr=execstr(instr,"errcatch");
38 MY_assert_equal ( ierr , 59 );
39 //////////////////////////////////////////
40 // Check error message when type of arguments is false
41 instr = "assert_checkequal ( ""a"" , 2 )";
42 ierr=execstr(instr,"errcatch");
43 MY_assert_equal ( ierr , 10000 );
44 //
45 instr = "assert_checkequal ( 1 , ""b"" )";
46 ierr=execstr(instr,"errcatch");
47 MY_assert_equal ( ierr , 10000 );
48 //////////////////////////////////////////
49 // Check error message when size of arguments are not equal
50 instr = "assert_checkequal ( 1 , [2 3] )";
51 ierr=execstr(instr,"errcatch");
52 MY_assert_equal ( ierr , 10000 );
53 //
54 // Check that the error message is correctly handled.
55 instr = "assert_checkequal ( [1 2], [3 4] )";
56 ierr=execstr(instr,"errcatch");
57 MY_assert_equal ( ierr , 10000 );
58 errmsg = lasterror();
59 refmsg = msprintf( gettext( "%s: Assertion failed: expected = %s while computed = %s" ) , "assert_checkequal" , "[3 ...]" , "[1 ...]" );
60 MY_assert_equal ( errmsg , refmsg );
61 //
62 [flag , errmsg] = assert_checkequal ( %T , %T );
63 checkassert ( flag , errmsg , "success" );
64 //
65 [flag , errmsg] = assert_checkequal ( %F , %T );
66 checkassert ( flag , errmsg , "failure" );
67 //
68 [flag , errmsg] = assert_checkequal ( %nan , %nan );
69 checkassert ( flag , errmsg , "success" );
70 //
71 [flag , errmsg] = assert_checkequal ( list() , list() );
72 checkassert ( flag , errmsg , "success" );
73 //
74 [flag , errmsg] = assert_checkequal ( [%T %F], [%T %F] );
75 checkassert ( flag , errmsg , "success" );
76 //
77 // Test all IEEE values
78 [flag , errmsg] = assert_checkequal ( [1 %inf -%inf %nan] , [1 %inf -%inf %nan] );
79 checkassert ( flag , errmsg , "success" );
80 //
81 [flag , errmsg] = assert_checkequal ( [] , [] );
82 checkassert ( flag , errmsg , "success" );
83 ////////////////////////////////////////////////////////
84 // Check complex entries.
85 [flag , errmsg] = assert_checkequal(complex(%nan,%nan),complex(%nan,0));
86 checkassert ( flag , errmsg , "failure" );
87 //
88 [flag , errmsg] = assert_checkequal(complex(%nan,%inf),complex(%nan,0));
89 checkassert ( flag , errmsg , "failure" );
90 //
91 [flag , errmsg] = assert_checkequal(complex(%nan,%nan),complex(0,%nan));
92 checkassert ( flag , errmsg , "failure" );
93 //
94 [flag , errmsg] = assert_checkequal(complex(%nan,%inf),complex(0,%inf));
95 checkassert ( flag , errmsg , "failure" );
96 //
97 [flag , errmsg] = assert_checkequal(complex(0,%inf),complex(0,%inf));
98 checkassert ( flag , errmsg , "success" );
99 //
100 [flag , errmsg] = assert_checkequal(complex(%nan,%nan),complex(%nan,%nan));
101 checkassert ( flag , errmsg , "success" );
102 //
103 [flag , errmsg] = assert_checkequal(complex(%inf,%nan),complex(%inf,%nan));
104 checkassert ( flag , errmsg , "success" );
105 //
106 ////////////////////////////////////////////////////////
107 // Check various types
108 //
109 //  Mlist
110 s=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
111 t=s; 
112 assert_checkequal(s, t);
113 //
114 //  Tlist
115 s=tlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
116 t=s; 
117 assert_checkequal(s, t);
118 //
119 // Polynomial
120 s=poly(0,"s");
121 t=s;
122 assert_checkequal(s, t);
123 //
124 // Sparse
125 s=spzeros(3,5);
126 t=s;
127 assert_checkequal(s, t);
128 //
129 // Boolean
130 s=(ones(3,5)==ones(3,5));
131 t=s;
132 assert_checkequal(s, t);
133 //
134 // Sparse Boolean
135 s=(spzeros(3,5)==spzeros(3,5));
136 t=s;
137 assert_checkequal(s, t);
138 //
139 // Integer  8
140 s=int8(3);
141 t=s;
142 assert_checkequal(s, t);
143 //
144 // String
145 s="foo";
146 t=s;
147 assert_checkequal(s, t);
148 //
149 // List
150 s=list("foo",2);
151 t=s;
152 assert_checkequal(s, t);