Salve,
ho creato questo programma per un progetto universitario che è fondamentalmente il gioco delle 20 domande. Per chi non lo sapesse, il giocatore deve pensare ad un oggetto e con 20 o meno domande, a cui si può rispondere SI o NO, il programma deve cercare di indovinare. Potrei postare il codice ma sono 2000+ righe di codice divise in varie librerie, quindi cercherò di riassumervelo anche perchè il problema non riguarda esattamente il codice ma il modo in cui posso testarlo con CUnit.
Le domande e le risposte sono organizzate in una albero binario. Il gioco parte dal menù principale da cui si può scegliere se iniziare una nuova partita, caricare una partita, eliminare un salvataggio, vedere le regole o uscire.
Prendiamo il caso in cui inizio una nuova partita: il programma analizza il nodo radice dell'albero e se è vuoto chiede di inserire l'animale a cui hai pensato, una domanda che lo rappresenta e la risposta (SI o NO) a questa domanda; se è pieno stampa la domanda e resta in attesa della risposta SI o NO e una volta ricevuta si muove sul nodo successivo, analizzandolo e comportandosi di conseguenza.
Spiegata questa funzionalità, è possibile testare con CUnit che il menù venga effettivamente stampato ad inizio gioco o che il programma stampi la domanda se il nodo radice non è vuoto? Il programma è quasi esclusivamente del tipo: stampa qualcosa -> acquisisci scelta del giocatore -> stampa la cosa scelta dall'utente -> acquisisci input dell'utente -> stampa la cosa scelta dall'utente -> ...ecc. quindi, in poche parole, la domanda è: come posso testare che all'acquisizione di quell'input, venga stampato effettivamente ciò che è richiesto?
Spero di essere stato chiaro.
Grazie a chi mi aiuterà.
PS: stavo pensando che forse, se non fosse abbastanza chiaro o comunque per spiegarmelo servisse un esempio sul codice, posso creare un mini programma che fa una cosa simile a quella descritta sopra in piccolo.