1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
// =============================================================================
// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
// Copyright (C) 2007-2008 - INRIA
//
// This file is distributed under the same license as the Scilab package.
// =============================================================================
// <-- CLI SHELL MODE -->
//===============================
// unit tests string
//===============================
assert_checkequal(string(1), '1');
//===============================
assert_checkequal(string(1.5), '1.5');
//===============================
// Special display cases :
assert_checkequal(string(0+%i), "%i");
assert_checkequal(string(0-%i), "-%i");
assert_checkequal(string(0+0*%i), "0");
assert_checkequal(string(-1+%i), "-1+%i");
assert_checkequal(string(-1-%i), "-1-%i");
assert_checkequal(string(0+2*%i), "%i*2");
assert_checkequal(string(0-2*%i), "-%i*2");
assert_checkequal(string(-2+2*%i), "-2+%i*2");
assert_checkequal(string(-2-2*%i), "-2-%i*2");
// BUG #10082
//assert_checkequal(string(1+%i), "1+%i");
//assert_checkequal(string(1-%i), "1-%i");
//assert_checkequal(string(2+2*%i), "2+%i*2");
//assert_checkequal(string(2-2*%i), "2-%i*2");
//===============================
assert_checkequal(string([]), []);
//===============================
assert_checkequal(string(''), '');
//===============================
assert_checkequal(string(1:3), ['1','2','3']);
//===============================
assert_checkequal(string([1;2;3]), ['1';'2';'3']);
//===============================
assert_checkequal(string('foo'), 'foo');
//===============================
deff('y = mymacro(x)', 'y = x + 1');
[out, in, text] = string(mymacro);
assert_checkequal(out, 'y');
assert_checkequal(in, 'x');
assert_checkequal(text, [' '; 'y = x + 1'; ' ']);
//===============================
mymacro = null();
deff('y = mymacro(x)', 'y = x + 1', 'n');
[out, in, text]=string(mymacro);
assert_checkequal(out, 'y');
assert_checkequal(in, 'x');
assert_checkequal(text, [' '; 'y = x + 1'; ' ']);
//===============================
R = string(corelib);
assert_checkequal(strsubst(R(1),'\','/'), 'SCI/modules/core/macros/');
//===============================
A = floor(abs(2^8 * rand(10,10)));
B = floor(abs(2^16 * rand(10,10)));
C = floor(abs(2^32 * rand(10,10)));
D = floor(abs(2^7 * rand(10,10)));
E = floor(abs(2^15 * rand(10,10)));
F = floor(abs(2^31 * rand(10,10)));
assert_checkequal(string(A), string(uint8(A)));
assert_checkequal(string(B), string(uint16(B)));
assert_checkequal(string(C), string(uint32(C)));
assert_checkequal(string(D), string(int8(D)));
assert_checkequal(string(E), string(int16(E)));
assert_checkequal(string(F), string(int32(F)));
|