Ce fichier indiquent les questions à résoudre pour la partie test du TP noté.
Il faudra soit éditer les squelette de fichiers java fournis, soit répondre dans ce fichier sous la question.

1) [3 points en tout]

   La classe SimpleDequeThatsNotCricket implémente l'interface MinimalDeque demandée.
   L'expression britannique "that's not cricket" se traduit par "ce n'est pas du jeux".
   En effet, cette classe fait exactement ce qu'il ne faut pas faire puisqu'elle utilise
   une implémentation de Deque fournies par java.util.

  a) Quel patron de conception est à l'oeuvre ici?
  [2 points]

  Il s'agit d'une façade.

  b) Comment fonctionne cette classe?
  [1 point]

  Elle implémente et redéfinit les méthodes contenu dans l'interfaces MinimalDeque tout en ajoutant de nouvelles méthodes propre à elle même.

2) [-6 à 4 points en tout]

   Indiquez pour chaque assertion si elles est vraie ou non.

   [2 points par groupe d'assertion si toutes correctes,
     -1 si une faute par question,
     0 si pas répondu)]

  a1) Il est possible de décider si un programme java va s'arrêter quelle que soit son entrée.
  V/F
  a2) Il est possible de décider si un programme C va s'arrêter quelle que soit son entrée.
  V/F
  a3) Il est possible de décider si un programme python ne va pas s'arrêter pour certaines entrées.
  V/F

  b1) Il est possible de décrire les propriétés souhaitées d'un programme en utilisant
      des langages de spécifications inspirés de la logique du premier ordre.
  V/F
  b2) Il existe des logiciels qui étant donné une spécification et un programme peuvent
      décider à coup sûr que le programme satisfait la spécification ou pas.
  V/F
  b3) Il existe des logiciels qui étant donné une spécification et un programme peuvent
      décider si le programme satisfait la spécification ou pas en demandant
      à un logiciel d'IA générative (comme chatGPT) pour générer une preuve.
  V/F

3) [1 point en tout]

 a) Quelle est la commande pour lancer les tests de la classe TestSimpleDeque si les archives
 junit.jar et hamcrest-core.jar sont dans le même répertoire?

 java junit.jar hamcrest-core.jar TestSimpleDeque

 b) Quelle est la commande pour lancer les tests de la classe TestSimpleDeque si les archives
 junit.jar et hamcrest-core.jar sont dans le CLASSPATH? 

 java org.junit.runner.JUnitCore TestSimpleDeque

4) [12 points en tout]

   Remplissez les tests dans TestSimpleDeque.java
   
   Il faut absolument que ce fichier compile sinon c'est 0 pour cette partie.
   voir barème dans TestSimpleDeque pour chaque test.

