* Bug #10816 fixed - Allow the usage of the '$' keyword in the part function.
[scilab.git] / scilab / modules / string / tests / unit_tests / part.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2007-2008 - INRIA
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7
8 // <-- CLI SHELL MODE -->
9
10 //===============================
11 // unit tests part
12 //===============================
13 EMPTY_STR = "";
14 BLANK = " ";
15 //===============================
16 s = part(EMPTY_STR ,[]);
17 if (s <> EMPTY_STR ) then pause,end
18 //===============================
19 // compatibility 4.x
20 N = 50;
21 s = part(EMPTY_STR ,N);
22 if (s <> BLANK) then pause,end
23 //===============================
24 s = part(["a","abc","abcd"],[1,1,2]);
25 if (s <> ["aa","aab","aab"]) then pause,end
26 //===============================
27 s1 = part(["a","abc","abcd"],[2,4,6]);
28 s2 = part(["a","abc","abcd"],[2,4,5]);
29 if (s1 <> s2)  then pause,end
30 if (s1 <> ["   ","b","bd"]) then pause,end
31 //===============================
32 N = 20;
33 s = part(" ",ones(1,N));
34 if (blanks(N) <> s) then pause,end
35 //===============================
36 if part("abc",1)<>"a" then pause,end
37 if part("abc",[1 1])<>"aa" then pause,end
38 if part("abc",[1;1])<>"aa" then pause,end
39 if part("abc",[])<>emptystr() then pause,end
40 if part("abc",5)<>BLANK then pause,end
41 if part("abc",5:6)<>"  " then pause,end
42 if or(part(["abc";"x"],1)<>["a";"x"]) then pause,end
43 if or(part(["abc";"x"],[1,1])<>["aa";"xx"]) then pause,end
44 if or(part(["abc";"x"],[1,2])<>["ab";"x "]) then pause,end
45 if or(part(["abc";"x"],[1;1])<>["aa";"xx"]) then pause,end
46 if or(part(["abc";"x"],[1;2])<>["ab";"x "]) then pause,end
47 //===============================
48
49
50
51 a=part(["a","abc","abcd"],[1]);
52 assert_checkequal(a,["a","a","a"]);
53
54 a=part(["a","abc","abcd"],[1,1]);
55 assert_checkequal(a,["aa","aa","aa"]);
56
57 a=part(["a","abc","abcd"],[1,1,2]);
58 assert_checkequal(a,["aa ","aab","aab"]);
59
60 N = 10; a=part("-",ones(1:N));
61 assert_checkequal(a,"----------");
62
63 N = 6; pat = "- ";
64 a=part(pat, ones(1:N).*.(1:length(pat)));
65 assert_checkequal(a,"- - - - - - ");
66
67 a=part(["a string"  "another longer one"], $-2:$ );
68 assert_checkequal(a,["ing","one"]);
69
70 a=part("Hello world", $:-1:1);
71 assert_checkequal(a,"dlrow olleH");
72 a=part("Hello world", [ $ 5:6 ]);
73 assert_checkequal(a,"do ");
74