* Bug #10816 fixed - Allow the usage of the '$' keyword in the part function.
[scilab.git] / scilab / modules / string / tests / unit_tests / part.tst
index d8451c7..211ca93 100644 (file)
@@ -10,8 +10,8 @@
 //===============================
 // unit tests part
 //===============================
-EMPTY_STR = '';
-BLANK = ' ';
+EMPTY_STR = "";
+BLANK = " ";
 //===============================
 s = part(EMPTY_STR ,[]);
 if (s <> EMPTY_STR ) then pause,end
@@ -21,28 +21,54 @@ 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
+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]);
+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
+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
+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 ");
+