# BDD :
> ``userCanGetNewQuestion()``
> ```
> Langage naturel :
> Lorsque L'utilisateur demande une question
> Quand il reçoit une question
> Alors l'utilisateur reçoit une question correspondante a ses tags
> ```
> ``userCannotGetNewQuestionIfNotAnswered()``
> ```
> Langage naturel :
> Lorsque l'utilisateur demande une question
> Et si une question est en attente de réponse
> Quand je demande une nouvelle question
> Alors je n'obtient pas de nouvelle question
> ```
> ``userCanAnswerQuestion()``
> ```
> Langage naturel :
> Lorsque l'utilisateur demande une question
> Quand il la reçoit
> Et qu'il donne une réponse valide
> Alors il recoit la correction
> Et il gagne les points de la question
> ```
# ATDD
> ``userAnswerIsCreatedOnResponse()``
> ```
> Langage naturel :
> L'utilisateur demande une question
> L'utilisateur réponds a la question
> La réponse est créée automatiquement
> ```
> ``gainedPointsDecreaseWhenTheQuestionIsAnsweredSeveralTime()``
> ```
> Langage naturel :
> L'utilisateur demande une question
> L'utilisateur réponds a la question une première fois
> Il obtient des points
> Puis réponds une seconde fois a la même question
> Il obtient moins de points
> ```
> ``nextQuestionTagIsOneOfTheUsersTags()``
> ```
> Langage naturel :
> L'utilisateur demande une question
> La question possède au moins un tag en commun avec l'utilisateur
> ```