[doc] misc. typos & improvements
[scilab.git] / scilab / modules / core / tests / unit_tests / exists.dia.ref
1 //<-- CLI SHELL MODE -->
2 // =============================================================================
3 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 // Copyright (C) 2008 - INRIA
5 // Copyright (C) 2010 - DIGITEO - Bruno JOFRET
6 //
7 //  This file is distributed under the same license as the Scilab package.
8 // =============================================================================
9 //exists
10 a=1;
11 assert_checkequal(exists('a'), 1);
12 clear a;
13 assert_checkequal(exists('a'), 0);
14 a=1; b=1;
15 assert_checkequal(exists(['a', 'b']), [1, 1]);
16 assert_checkequal(exists(['a'; 'b']), [1; 1]);
17 assert_checkequal(exists(['a', 'b'; 'a', 'b']), [1, 1; 1, 1]);
18 clear b;
19 assert_checkequal(exists(['a', 'b']), [1, 0]);
20 assert_checkequal(exists(['a'; 'b']), [1; 0]);
21 assert_checkequal(exists(['b', 'a']), [0, 1]);
22 assert_checkequal(exists(['b'; 'a']), [0; 1]);
23 assert_checkequal(exists(['a', 'b'; 'a', 'b']), [1, 0; 1, 0]);
24 clear a;
25 assert_checkequal(exists(['a', 'b']), [0, 0]);
26 assert_checkequal(exists(['a'; 'b']), [0; 0]);
27 assert_checkequal(exists(['a', 'b'; 'a', 'b']), [0, 0; 0, 0]);
28 function __check_exists__(x, scope)
29   assert_checkequal(exists("a", scope), 1);
30 endfunction
31 function __check_exists2__(x, scope)
32     a=42; b=42;
33     assert_checkequal(exists(['a', 'b'], scope), [1, 1]);
34     assert_checkequal(exists(['a'; 'b'], scope), [1; 1]);
35     assert_checkequal(exists(['a', 'b'; 'a' 'b'], scope), [1, 1; 1, 1]);
36 endfunction
37 function __check_not_exists__(x, scope)
38   assert_checkequal(exists("a", scope), 0);
39 endfunction
40 function __check_not_exists2__(x, scope)
41     a=51; b=51;
42     assert_checkequal(exists(['a', 'b'], scope), [0, 0]);
43     assert_checkequal(exists(['a'; 'b'], scope), [0; 0]);
44     assert_checkequal(exists(['a', 'b'; 'a', 'b'], scope), [0, 0; 0, 0]);
45 endfunction
46 // Define a ONLY in calling scope
47 a = 42; b=42;
48 __check_exists__([], "all");
49 __check_exists__([], "nolocal");
50 __check_not_exists__([], "local");
51 clear a; clear b;
52 // Define a ONLY in function local scope
53 __check_exists__(a = 42, "all");
54 __check_exists__(a = 42, "local");
55 __check_not_exists__(a = 42, "nolocal");
56 __check_exists2__([], "all");
57 __check_exists2__([], "local");
58 __check_not_exists2__([], "nolocal");
59 // Define a BOTH in calling and local scope
60 a = 42; b=42;
61 __check_exists__(a = 51, "all");
62 __check_exists__(a = 51, "local");
63 __check_exists__(a = 51, "nolocal");
64 __check_exists2__([], "all");
65 __check_exists2__([], "local");
66 __check_exists2__([], "nolocal");
67 clear a; clear b;