* Bugs #14976 fixed: asciimat(colNum) and asciimat(asciimat("àeï")) failed
[scilab.git] / scilab / modules / string / tests / unit_tests / asciimat.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2012 - Scilab Enterprises - Cedric Delamarre
4 // Copyright (C) 2017 - Samuel GOUGEON
5 //
6 //  This file is distributed under the same license as the Scilab package.
7 // =============================================================================
8
9 // <-- CLI SHELL MODE -->
10 // <-- NO CHECK REF -->
11
12 // ascii to string
13 // ---------------
14 ref  = [97 98 99 ;100 101 102];
15 code = asciimat(["a" "b" "c";"d" "e" "f"]);
16 assert_checkequal(ref, code);
17
18 ref  = [97 122 98 99 ;100 101 121 102];
19 code = asciimat(["az" "b" "c";"d" "ey" "f"]);
20 assert_checkequal(ref, code);
21
22 // 3D hypermat
23 m = matrix(97:120,4,3,2);
24 t = asciimat(m);
25 ref = ["aei" "mqu"
26        "bfj" "nrv"
27        "cgk" "osw"
28        "dhl" "ptx"
29        ];
30 assert_checkequal(t, ref);
31
32 // 12D hypermat
33 h = cat(12,m,m);
34 t = asciimat(h);
35 assert_checkequal(t, cat(11,ref,ref));
36
37 // string to ascii
38 // ---------------
39 // not managed in scilab 5
40 scilabversion = getversion("scilab");
41 if scilabversion(1) >= 6
42     ref  = matrix(97:120,2,3,4);
43     a    = matrix(strsplit(ascii(97:120),1:23),2,3,4);
44     code = asciimat(a);
45     assert_checkequal(ref, code);
46 end
47 //
48 ref = ["azerty";"ytreza"];
49 str = asciimat([97 122 101 114 116 121; 121 116 114 101 122 97]);
50 assert_checkequal(ref, str);
51
52 ref = ["bdf" "hjl" "npr" "tvx";"ceg" "ikm" "oqs" "uwy"];
53 a   = matrix(97+(1:2*3*4),2,3,4);
54 str = asciimat(a);
55 assert_checkequal(ref, str);
56
57 // With UTF8 (limited application)
58 t = "àâãäéèêëìîïòôöùûü";
59 assert_checkequal(asciimat(asciimat(t)), t);
60 assert_checkequal(asciimat(asciimat([t t])), t+t);
61 assert_checkequal(asciimat(asciimat([t;t])), [t;t]);
62
63