testSplit.mod 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. MODULE testSplit;
  2. IMPORT SplitV1;
  3. FROM InOut IMPORT Write, WriteLn, WriteString, WriteCard;
  4. VAR
  5. chaine1 : ARRAY[0..255] OF CHAR;
  6. chaine2 : ARRAY[0..255] OF CHAR;
  7. maStructure : SplitV1.Structure;
  8. i : CARDINAL;
  9. BEGIN
  10. SplitV1.InitStructure(maStructure);
  11. (* WriteString (" Test de Ltrim ");
  12. WriteLn;
  13. chaine1 := "=====Encore=un=test==";
  14. WriteString(chaine1);
  15. WriteLn;
  16. Write("*");
  17. SplitV1.Ltrim(chaine1, "=");
  18. WriteString(chaine1);
  19. Write("*");
  20. WriteLn;
  21. *)
  22. (*
  23. WriteString (" Test de Rtrim ");
  24. WriteLn;
  25. chaine1 := "!!Encore!un=test!!!!!";
  26. WriteString(chaine1);
  27. WriteLn;
  28. Write("*");
  29. SplitV1.Rtrim(chaine1, "!");
  30. WriteString(chaine1);
  31. Write("*");
  32. WriteLn;
  33. *)
  34. (* WriteString (" Test de RemoveDuplicate ");
  35. WriteLn;
  36. chaine1 := "!!Encore!!un!!test!!!!!";
  37. WriteString(chaine1);
  38. WriteLn;
  39. Write("*");
  40. SplitV1.removeDuplicate(chaine1, "!");
  41. WriteString(chaine1);
  42. Write("*");
  43. WriteLn;
  44. *)
  45. (******************* test de Split dans les # cas *************)
  46. (* ça fonctionne !
  47. WriteString (" Test de Split version 1 sans separateurs en début ou à la fin et sans duplicats");
  48. WriteLn;
  49. Write("*");
  50. chaine1 := "Encore de beaux jours devant nous";
  51. WriteString(chaine1);
  52. Write("*");
  53. WriteLn;
  54. SplitV1.SplitStr(chaine1, " ", maStructure);
  55. FOR i := 0 TO HIGH(maStructure) DO
  56. WriteCard(maStructure[i].pos,5);
  57. Write("-");
  58. WriteString(maStructure[i].element);
  59. WriteLn;
  60. END;
  61. WriteLn;
  62. WriteLn;
  63. *)
  64. (* ça fonctionne !
  65. WriteString (" Test de Split version avec separateurs au début ou à la fin et duplicata");
  66. WriteLn;
  67. Write("*");
  68. chaine1 := " Encore de beaux jours devant nous ";
  69. Write("*");
  70. WriteString(chaine1);
  71. WriteLn;
  72. WriteString (" Test de Split ");
  73. WriteLn;
  74. SplitV1.SplitStr(chaine1, " ", maStructure);
  75. FOR i := 0 TO HIGH(maStructure) DO
  76. WriteCard(maStructure[i].pos,5);
  77. Write("-");
  78. WriteString(maStructure[i].element);
  79. WriteLn;
  80. END;
  81. WriteLn;
  82. WriteLn;
  83. *)
  84. (* ça marche !
  85. WriteString (" Test de Split version avec separateurs au début ou à la fin et duplicata, mais en mode suppression duplicata");
  86. WriteLn;
  87. Write("*");
  88. chaine1 := "###Encore####de#beaux##jours#####devant nous####";
  89. WriteString(chaine1);
  90. Write("*");
  91. WriteLn;
  92. WriteString (" Test de Split ");
  93. WriteLn;
  94. SplitV1.noDupMode := TRUE ;
  95. SplitV1.SplitStr(chaine1, "#", maStructure);
  96. FOR i := 0 TO HIGH(maStructure) DO
  97. WriteCard(maStructure[i].pos,5);
  98. Write("-");
  99. WriteString(maStructure[i].element);
  100. WriteLn;
  101. END;
  102. WriteLn;
  103. WriteLn;
  104. *)
  105. (* ça marche !
  106. WriteString (" Test de Split version avec separateurs au début ou à la fin et duplicata, mais en mode ltrim");
  107. WriteLn;
  108. Write("*");
  109. chaine1 := "###Encore####de#beaux##jours#####devant nous####";
  110. WriteString(chaine1);
  111. Write("*");
  112. WriteLn;
  113. WriteString (" Test de Split ");
  114. WriteLn;
  115. SplitV1.ltrim := TRUE ;
  116. SplitV1.SplitStr(chaine1, "#", maStructure);
  117. FOR i := 0 TO HIGH(maStructure) DO
  118. WriteCard(maStructure[i].pos,5);
  119. Write("-");
  120. WriteString(maStructure[i].element);
  121. WriteLn;
  122. END;
  123. WriteLn;
  124. WriteLn;
  125. *)
  126. (*
  127. WriteString (" Test de Split version avec separateurs au début ou à la fin et duplicata, mais en mode rtrim");
  128. WriteLn;
  129. Write("*");
  130. chaine1 := "###Encore####de#beaux##jours#####devant nous####";
  131. WriteString(chaine1);
  132. Write("*");
  133. WriteLn;
  134. WriteString (" Test de Split ");
  135. WriteLn;
  136. SplitV1.rtrim := TRUE ;
  137. SplitV1.SplitStr(chaine1, "#", maStructure);
  138. FOR i := 0 TO HIGH(maStructure) DO
  139. WriteCard(maStructure[i].pos,5);
  140. Write("-");
  141. WriteString(maStructure[i].element);
  142. WriteLn;
  143. END;
  144. WriteLn;
  145. WriteLn;
  146. *)
  147. WriteString (" Test de Split version avec separateurs au début ou à la fin et duplicata, mais en mode rtrim");
  148. WriteLn;
  149. Write("*");
  150. chaine1 := "###Encore####de#beaux##jours#####devant nous####";
  151. WriteString(chaine1);
  152. Write("*");
  153. WriteLn;
  154. WriteString (" Test de Split ");
  155. WriteLn;
  156. SplitV1.allTrimMode := TRUE ;
  157. SplitV1.SplitStr(chaine1, "#", maStructure);
  158. FOR i := 0 TO HIGH(maStructure) DO
  159. WriteCard(maStructure[i].pos,5);
  160. Write("-");
  161. WriteString(maStructure[i].element);
  162. WriteLn;
  163. END;
  164. WriteLn;
  165. WriteLn;
  166. WriteString (" Fin du test V1 ");
  167. END testSplit.