summaryrefslogtreecommitdiff
path: root/modules/string/tests/unit_tests/part.tst
blob: 211ca930a9e2ac5e8ae3cc0e0140eb2f8a66ca28 (plain)
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 part
//===============================
EMPTY_STR = "";
BLANK = " ";
//===============================
s = part(EMPTY_STR ,[]);
if (s <> EMPTY_STR ) then pause,end
//===============================
// compatibility 4.x
N = 50;
s = part(EMPTY_STR ,N);
if (s <> BLANK) then pause,end
//===============================
s = part(["a","abc","abcd"],[1,1,2]);
if (s <> ["aa","aab","aab"]) then pause,end
//===============================
s1 = part(["a","abc","abcd"],[2,4,6]);
s2 = part(["a","abc","abcd"],[2,4,5]);
if (s1 <> s2)  then pause,end
if (s1 <> ["   ","b","bd"]) then pause,end
//===============================
N = 20;
s = part(" ",ones(1,N));
if (blanks(N) <> s) then pause,end
//===============================
if part("abc",1)<>"a" then pause,end
if part("abc",[1 1])<>"aa" then pause,end
if part("abc",[1;1])<>"aa" then pause,end
if part("abc",[])<>emptystr() then pause,end
if part("abc",5)<>BLANK then pause,end
if part("abc",5:6)<>"  " then pause,end
if or(part(["abc";"x"],1)<>["a";"x"]) then pause,end
if or(part(["abc";"x"],[1,1])<>["aa";"xx"]) then pause,end
if or(part(["abc";"x"],[1,2])<>["ab";"x "]) then pause,end
if or(part(["abc";"x"],[1;1])<>["aa";"xx"]) then pause,end
if or(part(["abc";"x"],[1;2])<>["ab";"x "]) then pause,end
//===============================



a=part(["a","abc","abcd"],[1]);
assert_checkequal(a,["a","a","a"]);

a=part(["a","abc","abcd"],[1,1]);
assert_checkequal(a,["aa","aa","aa"]);

a=part(["a","abc","abcd"],[1,1,2]);
assert_checkequal(a,["aa ","aab","aab"]);

N = 10; a=part("-",ones(1:N));
assert_checkequal(a,"----------");

N = 6; pat = "- ";
a=part(pat, ones(1:N).*.(1:length(pat)));
assert_checkequal(a,"- - - - - - ");

a=part(["a string"  "another longer one"], $-2:$ );
assert_checkequal(a,["ing","one"]);

a=part("Hello world", $:-1:1);
assert_checkequal(a,"dlrow olleH");
a=part("Hello world", [ $ 5:6 ]);
assert_checkequal(a,"do ");