testSingleLinkedList1.mod 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. MODULE testSingleLinkedList1;
  2. IMPORT SingleLinkedList;
  3. FROM InOut IMPORT Write, WriteLn, WriteString, WriteCard;
  4. VAR
  5. oneList : SingleLinkedList.List;
  6. ok : BOOLEAN;
  7. BEGIN
  8. SingleLinkedList.Init(oneList, FALSE , NIL );
  9. IF SingleLinkedList.Empty(oneList) THEN
  10. WriteString("liste vide");
  11. WriteLn
  12. ELSE
  13. WriteString("y'a un stuck ;) ");
  14. WriteLn
  15. END;
  16. SingleLinkedList.AddElementLast(oneList);
  17. IF SingleLinkedList.Empty(oneList) THEN
  18. WriteString("liste vide");
  19. WriteLn
  20. ELSE
  21. WriteString("y'a un element :) ");
  22. (* test de position *)
  23. WriteCard(oneList^.lastElement^.pos ,5);
  24. WriteCard(SingleLinkedList.GetPosCurrentElement(oneList), 5);
  25. WriteCard(SingleLinkedList.GetPosLastElement(oneList), 5);
  26. WriteLn;
  27. END;
  28. SingleLinkedList.AddElementLast(oneList);
  29. IF SingleLinkedList.Empty(oneList) THEN
  30. WriteString("liste vide");
  31. WriteLn
  32. ELSE
  33. WriteString("y'a un element :) ");
  34. (* test de position *)
  35. WriteCard(oneList^.lastElement^.pos ,5);
  36. WriteCard(SingleLinkedList.GetPosCurrentElement(oneList), 5);
  37. WriteCard(SingleLinkedList.GetPosLastElement(oneList), 5);
  38. WriteLn;
  39. END;
  40. (* test de SetPos : 2 cas *)
  41. (* cas 1 où pos est dans l'intervalle des positions actuelles *)
  42. ok := SingleLinkedList.SetPos(oneList,0);
  43. IF ok THEN
  44. WriteString("OK !"); WriteLn;
  45. ELSE
  46. WriteString("Not ok!!!!!!!"); WriteLn
  47. END;
  48. (* cas 2 où pos est hors intervalle *)
  49. ok := SingleLinkedList.SetPos(oneList,5);
  50. IF ok THEN
  51. WriteString("OK !"); WriteLn;
  52. ELSE
  53. WriteString("Not ok!!!!!!!"); WriteLn
  54. END;
  55. SingleLinkedList.Free (oneList);
  56. END testSingleLinkedList1.