[Obsolete] IsAScalar
[scilab.git] / scilab / modules / elementary_functions / tests / unit_tests / isscalar.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- ENGLISH IMPOSED -->
9 // <-- CLI SHELL MODE -->
10 //
11 // unit tests for isscalar function
12 // =============================================================================
13 // Constants
14 assert_checkequal(isscalar([1 2 3]), %f);
15 assert_checkequal(isscalar([1 2 3]'), %f);
16 assert_checkequal(isscalar([1 2; 1 2]), %f);
17 assert_checkequal(isscalar(1), %t);
18 assert_checkequal(isscalar([]), %f);
19 // Strings
20 assert_checkequal(isscalar(["s" "s"; "s" "s"]), %f);
21 assert_checkequal(isscalar("s"), %t);
22 // Polynomials
23 s=poly(0,"s");
24 assert_checkequal(isscalar([s s; s s]), %f);
25 assert_checkequal(isscalar(1+s), %t);
26 // Booleans
27 assert_checkequal(isscalar([%t %t; %t %t]), %f);
28 assert_checkequal(isscalar(%t), %t);
29 // Sparses
30 assert_checkequal(isscalar(sparse([1 2; 1 2])), %f);
31 assert_checkequal(isscalar(sparse(0)), %t);
32 // Structures
33 clear s;
34 assert_checkequal(isscalar(struct()), %f); // Empty structure
35 s(1,1).a = "test";
36 assert_checkequal(isscalar(s), %t); // Scalar structure
37 clear s;
38 s(3,1).a = %pi;
39 assert_checkequal(isscalar(s), %f); // Column structure
40 clear s;
41 s(1,3).a = %e;
42 assert_checkequal(isscalar(s), %f); // Row structure
43 clear s;
44 s(3,2).a = %z;
45 assert_checkequal(isscalar(s), %f); // 2D structure array (not square)
46 clear s;
47 s(2,2,2).a = %s;
48 assert_checkequal(isscalar(s), %f); // 3D structure array (cube)
49 clear s;
50 s(2,1,2).a = %s;
51 assert_checkequal(isscalar(s), %f); // 3D structure array with singleton (square)
52 // Cells
53 assert_checkequal(isscalar(cell()), %f); // Empty cell
54 a = cell(1);
55 a(1).entries = 1;
56 assert_checkequal(isscalar(a), %t); // Scalar case
57 clear a;
58 a = cell(1,3);
59 a(1).entries = 1:3;
60 a(2).entries = 1:3;
61 a(3).entries = 1:3;
62 assert_checkequal(isscalar(a), %f); // Row case
63 clear a;
64 a = cell(3,1);
65 a(1).entries = 1:3;
66 a(2).entries = 1:3;
67 a(3).entries = 1:3;
68 assert_checkequal(isscalar(a), %f); // Column case
69 clear a;
70 a = cell(3,2);
71 a(1,1).entries = 1:3;
72 a(1,2).entries = 1:3;
73 a(2,1).entries = 1:3;
74 a(2,2).entries = 1:3;
75 a(3,2).entries = 1:3;
76 a(3,1).entries = 1:3;
77 assert_checkequal(isscalar(a), %f); // Matrix case
78 clear a;
79 a = cell(2,2,2);
80 a(1,1,1).entries =1:3;
81 a(1,2,1).entries =1:3;
82 a(2,1,1).entries =1:3;
83 a(2,2,1).entries =1:3;
84 a(1,1,2).entries =1:3;
85 a(1,2,2).entries =1:3;
86 a(2,1,2).entries =1:3;
87 a(2,2,2).entries =1:3;
88 assert_checkequal(isscalar(a), %f); // Cubic case
89 a = cell(2,1,2);
90 a(1,1,1).entries=1:3;
91 a(2,1,1).entries=1:3;
92 a(1,1,2).entries=1:3;
93 a(2,1,2).entries=1:3;
94 assert_checkequal(isscalar(a), %f); // Hypermatrix with singleton (square)
95 // Lists
96 assert_checkequal(isscalar(list()), %f); // Empty list
97 l=list(1);
98 assert_checkequal(isscalar(l), %t); // Scalar case
99 clear l;
100 l=list(1,"test");
101 assert_checkequal(isscalar(l), %f); // Column case
102 // Error messages
103 errmsg1 = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"),"isscalar", 1);
104 assert_checkerror("isscalar()", errmsg1);
105 errmsg2 = msprintf(_("Wrong number of input arguments."));
106 assert_checkerror("isscalar(1,2)", errmsg2);
107 errmsg3 = msprintf(_("Wrong number of output arguments.\n"));
108 assert_checkerror("[r,b]=isscalar([1 2 3]);", errmsg3);