|
@@ -0,0 +1,179 @@
|
|
|
|
|
+MODULE testSplit;
|
|
|
|
|
+
|
|
|
|
|
+IMPORT SplitV1;
|
|
|
|
|
+FROM InOut IMPORT Write, WriteLn, WriteString, WriteCard;
|
|
|
|
|
+
|
|
|
|
|
+VAR
|
|
|
|
|
+ chaine1 : ARRAY[0..255] OF CHAR;
|
|
|
|
|
+ chaine2 : ARRAY[0..255] OF CHAR;
|
|
|
|
|
+ maStructure : SplitV1.Structure;
|
|
|
|
|
+ i : CARDINAL;
|
|
|
|
|
+
|
|
|
|
|
+BEGIN
|
|
|
|
|
+ SplitV1.InitStructure(maStructure);
|
|
|
|
|
+
|
|
|
|
|
+(* WriteString (" Test de Ltrim ");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ chaine1 := "=====Encore=un=test==";
|
|
|
|
|
+ WriteString(chaine1);
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ SplitV1.Ltrim(chaine1, "=");
|
|
|
|
|
+ WriteString(chaine1);
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+*)
|
|
|
|
|
+(*
|
|
|
|
|
+ WriteString (" Test de Rtrim ");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ chaine1 := "!!Encore!un=test!!!!!";
|
|
|
|
|
+ WriteString(chaine1);
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ SplitV1.Rtrim(chaine1, "!");
|
|
|
|
|
+ WriteString(chaine1);
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+*)
|
|
|
|
|
+
|
|
|
|
|
+(* WriteString (" Test de RemoveDuplicate ");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ chaine1 := "!!Encore!!un!!test!!!!!";
|
|
|
|
|
+ WriteString(chaine1);
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ SplitV1.removeDuplicate(chaine1, "!");
|
|
|
|
|
+ WriteString(chaine1);
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+*)
|
|
|
|
|
+
|
|
|
|
|
+(******************* test de Split dans les # cas *************)
|
|
|
|
|
+(* ça fonctionne !
|
|
|
|
|
+ WriteString (" Test de Split version 1 sans separateurs en début ou à la fin et sans duplicats");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ chaine1 := "Encore de beaux jours devant nous";
|
|
|
|
|
+ WriteString(chaine1);
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+
|
|
|
|
|
+ SplitV1.SplitStr(chaine1, " ", maStructure);
|
|
|
|
|
+ FOR i := 0 TO HIGH(maStructure) DO
|
|
|
|
|
+ WriteCard(maStructure[i].pos,5);
|
|
|
|
|
+ Write("-");
|
|
|
|
|
+ WriteString(maStructure[i].element);
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ END;
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+*)
|
|
|
|
|
+
|
|
|
|
|
+(* ça fonctionne !
|
|
|
|
|
+ WriteString (" Test de Split version avec separateurs au début ou à la fin et duplicata");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ chaine1 := " Encore de beaux jours devant nous ";
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ WriteString(chaine1);
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ WriteString (" Test de Split ");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+
|
|
|
|
|
+ SplitV1.SplitStr(chaine1, " ", maStructure);
|
|
|
|
|
+ FOR i := 0 TO HIGH(maStructure) DO
|
|
|
|
|
+ WriteCard(maStructure[i].pos,5);
|
|
|
|
|
+ Write("-");
|
|
|
|
|
+ WriteString(maStructure[i].element);
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ END;
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+*)
|
|
|
|
|
+(* ça marche !
|
|
|
|
|
+ WriteString (" Test de Split version avec separateurs au début ou à la fin et duplicata, mais en mode suppression duplicata");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ chaine1 := "###Encore####de#beaux##jours#####devant nous####";
|
|
|
|
|
+ WriteString(chaine1);
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ WriteString (" Test de Split ");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ SplitV1.noDupMode := TRUE ;
|
|
|
|
|
+ SplitV1.SplitStr(chaine1, "#", maStructure);
|
|
|
|
|
+ FOR i := 0 TO HIGH(maStructure) DO
|
|
|
|
|
+ WriteCard(maStructure[i].pos,5);
|
|
|
|
|
+ Write("-");
|
|
|
|
|
+ WriteString(maStructure[i].element);
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ END;
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+*)
|
|
|
|
|
+(* ça marche !
|
|
|
|
|
+ WriteString (" Test de Split version avec separateurs au début ou à la fin et duplicata, mais en mode ltrim");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ chaine1 := "###Encore####de#beaux##jours#####devant nous####";
|
|
|
|
|
+ WriteString(chaine1);
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ WriteString (" Test de Split ");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ SplitV1.ltrim := TRUE ;
|
|
|
|
|
+ SplitV1.SplitStr(chaine1, "#", maStructure);
|
|
|
|
|
+ FOR i := 0 TO HIGH(maStructure) DO
|
|
|
|
|
+ WriteCard(maStructure[i].pos,5);
|
|
|
|
|
+ Write("-");
|
|
|
|
|
+ WriteString(maStructure[i].element);
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ END;
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ *)
|
|
|
|
|
+
|
|
|
|
|
+(*
|
|
|
|
|
+ WriteString (" Test de Split version avec separateurs au début ou à la fin et duplicata, mais en mode rtrim");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ chaine1 := "###Encore####de#beaux##jours#####devant nous####";
|
|
|
|
|
+ WriteString(chaine1);
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ WriteString (" Test de Split ");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ SplitV1.rtrim := TRUE ;
|
|
|
|
|
+ SplitV1.SplitStr(chaine1, "#", maStructure);
|
|
|
|
|
+ FOR i := 0 TO HIGH(maStructure) DO
|
|
|
|
|
+ WriteCard(maStructure[i].pos,5);
|
|
|
|
|
+ Write("-");
|
|
|
|
|
+ WriteString(maStructure[i].element);
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ END;
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ *)
|
|
|
|
|
+
|
|
|
|
|
+ WriteString (" Test de Split version avec separateurs au début ou à la fin et duplicata, mais en mode rtrim");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ chaine1 := "###Encore####de#beaux##jours#####devant nous####";
|
|
|
|
|
+ WriteString(chaine1);
|
|
|
|
|
+ Write("*");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ WriteString (" Test de Split ");
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ SplitV1.allTrimMode := TRUE ;
|
|
|
|
|
+ SplitV1.SplitStr(chaine1, "#", maStructure);
|
|
|
|
|
+ FOR i := 0 TO HIGH(maStructure) DO
|
|
|
|
|
+ WriteCard(maStructure[i].pos,5);
|
|
|
|
|
+ Write("-");
|
|
|
|
|
+ WriteString(maStructure[i].element);
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ END;
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+ WriteLn;
|
|
|
|
|
+
|
|
|
|
|
+ WriteString (" Fin du test V1 ");
|
|
|
|
|
+END testSplit.
|