1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
5 // This file is distributed under the same license as the Scilab package.
6 // =============================================================================
8 // <-- TEST WITH GRAPHICS -->
9 // unit test for typeof()
11 assert_checkequal(typeof(1),"constant");
12 assert_checkequal(typeof([1,1]),"constant");
13 assert_checkequal(typeof([1;1]),"constant");
14 assert_checkequal(typeof([1,1;1,1]),"constant");
15 assert_checkequal(typeof([1+%i,1+%i;1,1]),"constant");
17 assert_checkequal(typeof(poly(0,"s")),"polynomial");
19 assert_checkequal(typeof(%t),"boolean");
20 assert_checkequal(typeof([%t,%t;%f,%f]),"boolean");
21 assert_checkequal(typeof("s"=="s"),"boolean");
23 assert_checkequal(typeof(sparse([0,1,0,1:1,0,1,0])),"sparse");
25 assert_checkequal(typeof(sparse([1,1;2,2;3,3],[%t,%t,%t])),"boolean sparse");
27 X=sparse(rand(2,2)); Y=mtlb_sparse(X);
28 assert_checkequal(typeof(Y),"Matlab sparse");
30 assert_checkequal(typeof(int8(1:4)),"int8");
31 assert_checkequal(typeof(uint8(1:4)),"uint8");
32 assert_checkequal(typeof(int16(1:4)),"int16");
33 assert_checkequal(typeof(uint16(1:4)),"uint16");
34 assert_checkequal(typeof(int32(1:4)),"int32");
35 assert_checkequal(typeof(uint32(1:4)),"uint32");
37 assert_checkequal(typeof(uint8(1:4)),"uint8"); // bug 8687
42 assert_checkequal(typeof(f),"handle");
44 assert_checkequal(typeof(a),"handle");
46 assert_checkequal(typeof(e),"handle");
47 assert_checkequal(typeof(a.children(1)),"handle");
50 assert_checkequal(typeof("s"),"string");
51 assert_checkequal(typeof("string"),"string");
52 assert_checkequal(typeof(["s","s"]),"string");
54 deff('[x]=myplus(y,z)','x=y+z');
55 assert_checkequal(typeof(myplus),"function");
57 assert_checkequal(typeof(elementary_functionslib),"library");
58 assert_checkequal(typeof(corelib),"library");
60 a=rand(5,5);b=rand(5,1);A=sparse(a);
64 assert_checkequal(typeof(h),"pointer");
66 assert_checkequal(typeof(1:1:$), "size implicit");
68 assert_checkequal(typeof(list(1,2)),"list");
69 t = tlist(["listtype","field1","field2"], [], []);
70 assert_checkequal(typeof(t),t(1)(1));
71 M = mlist(['V','name','value'],['a','b','c'],[1 2 3]);
73 assert_checkequal(typeof(M),M1(1));
74 // rational, state-space
75 assert_checkequal(typeof(1/poly(0,"s")),"rational");
76 A=[0,1;0,0];B=[1;1];C=[1,1];
78 assert_checkequal(typeof(S1),"state-space");
80 assert_checkequal(typeof(S2),"state-space");
82 assert_checkequal(typeof(S3),"state-space");
83 assert_checkequal(typeof(tf2ss(1/poly(0,"s"))),"state-space");
85 assert_checkequal(typeof(hypermat([2 3 2 2],1:24)),"hypermat");
87 A(:,:,2)=[1,2,3;4,5,6];
88 assert_checkequal(typeof(A),"hypermat");
90 assert_checkequal(typeof(abs),"fptr");
92 assert_checkequal(typeof(cell(3)),"ce");
94 assert_checkequal(typeof(struct('jour',25,'mois','DEC','annee',2006)),"st");