* Bug #7649 fixed: isempty() on struct(), {} or list(,) returned %F
[scilab.git] / scilab / modules / elementary_functions / tests / unit_tests / isempty.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
4 // Copyright (C) 2016 - Samuel GOUGEON
5 //
6 //  This file is distributed under the same license as the Scilab package.
7 // =============================================================================
8
9 // <-- CLI SHELL MODE -->
10
11 // unit tests for isempty function
12 // =============================================================================
13
14 // empty matrix
15 assert_checktrue(isempty([]));
16
17 // character string
18 assert_checktrue(isempty(''));
19
20 // matrix of character string
21 assert_checktrue(isempty([ '' , '' ; '' , '' ]));
22 assert_checkfalse(isempty([ ' ' , '' ; '' , '' ]));
23
24 // empty list
25 assert_checktrue(isempty(list()));
26
27 // list with only undefined elements
28 assert_checktrue(isempty(list(,)));
29
30 // empty structure()
31 assert_checktrue(isempty(struct()));
32
33 // empty cell()
34 assert_checktrue(isempty({}));
35
36 // nested empty containers
37 assert_checktrue(isempty(list({}, list("",,[]), [], struct())));
38 s.r = [];
39 s.c = {};
40 s.L = list();
41 s.s = struct();
42 assert_checktrue(isempty(s));
43
44 // other mlists are never empty
45 assert_checkfalse(isempty(mlist('')));