Applicazione che consentirà all'eterna sfida Bob VS Ross di avere luogo.
Abbiamo implementato la classe Orologio e abbiamo verificato che il suo funzionamento fosse aderente alla specifica usando degli unit test.
Ora proviamo ad implementare il comportamento dei vari pezzi degli scacchi. Nella cartella Modello/Pezzi si trova l'interfaccia IPezzo che espone due membri:
- Il metodo booleano PuòMuovere, che ci indica se il pezzo può compiere una certa mossa, date Colonna e Traversa di partenza e di arrivo (Colonna e Traversa sono delle enum);
- La proprietà Colore, di tipo Colore che indica se il pezzo è bianco o nero (Colore è un'enum).
Usare il test-driven development per modellare le classi Pedone, Cavallo, Torre, Alfiere, Re e Donna (il nome usato dagli scacchisti al posto di Regina). Creare tali classi nella cartella Modello/Pezzi (la classe Pedone già esiste).
Ciascuna di queste classi dovrà implementare l'interfaccia IPezzo e il suo funzionamento dovrà essere conforme alla specifica.
Procedere come segue:
- Si legge il primo punto della specifica;
- Si scrive un test nella classe PezziTest completo di istruzioni Assert. Lanciare l'applicazione per veder fallire il test (è chiamata "fase rossa");
- Solo a questo punto, aprire la classe del pezzo in questione (es. Modello/Pezzi/Pedone.cs e scrivere la minima quantità di codice che serve a far passare il test;
- Lanciare di nuovo il programma e verificare che il test è passato (è chiamata "fase verde");
- Ripetere da capo tutti i passi finché non sono stati svolti tutti i punti della specifica. Tenere presente che per testare ogni punto della specifica potrebbero essere necessari uno o più test.
Nota: Sono già stati scritti due test per il primo punto della specifica, ma il secondo sta fallendo. Scrivere il codice in Modello/Pezzo.cs per farlo passare e poi proseguire con i successivi punti della specifica.