Preparatevi perché ci sono un """""""po'"""""" di file da controllare (scusate) ☠☠☠
Changes:
Refactoring delle Personal Goal card in modo da minimizzare le ridefinizioni e permetterne la serializzazione/deserializzazione;
Aggiunta dell'interfaccia Serializable per permettere la serializzazione degli oggetti di gioco.
Aggiunta dell'interfacce Serializer e Deserializer usate rispettivamente per la serializzazione e deserializzazione degli oggetti.
Aggiunta delle classi JsonSerializer e JsonDeserializer per la serializzazione/deserializzazione in formato JSON.
Estensione di Serializable nelle interfacce del modello interessate nella serializzazione.
Aggiunta del modello di Game con rispettiva logica di gioco.
Aggiunta dell'interfaccia Builder<T> (e derivati) per la costruzione degli oggetti di gioco in fase di deserializzazione sfruttando un builder pattern.
Aggiunta e modifica dei test:
Aggiunta di test per le nuove classi;
Aggiunta di classi "mock" per la facilitazione nella scrittura dei test;
Modifica di test utilizzando le nuove classi mock e per rispettare le linee guide pubblicate nella issue pinnata #12.
Aggiunta documentazione alle interfacce e ai builder.
Aggiunta di una libreria di supporto per le operazione di I/O su file.
Note:
Alcuni test falliscono a causa della mancanza della logica per verificare che un giocatore possa acquisire punti da una carta obiettivo comune. (penso non ci sia ancora, ma ammetto che potrei aver fatto casini con il merge e non aver risolto tutti i conflitti... potrei essere anche completamente cieco, in caso fatemi sapere, @CamillaVelluti).
Possibile anche che nel marasma di file modificati mi sia dimenticato qualcosa, anche qui, fatemi sapere tramite i commenti qui sulla pull.
Preparatevi perché ci sono un """""""po'"""""" di file da controllare (scusate) ☠☠☠
Changes:
Serializable
per permettere la serializzazione degli oggetti di gioco.Serializer
eDeserializer
usate rispettivamente per la serializzazione e deserializzazione degli oggetti.JsonSerializer
eJsonDeserializer
per la serializzazione/deserializzazione in formato JSON.Serializable
nelle interfacce del modello interessate nella serializzazione.Game
con rispettiva logica di gioco.Builder<T>
(e derivati) per la costruzione degli oggetti di gioco in fase di deserializzazione sfruttando un builder pattern.Note:
Alcuni test falliscono a causa della mancanza della logica per verificare che un giocatore possa acquisire punti da una carta obiettivo comune. (penso non ci sia ancora, ma ammetto che potrei aver fatto casini con il merge e non aver risolto tutti i conflitti... potrei essere anche completamente cieco, in caso fatemi sapere, @CamillaVelluti).
Possibile anche che nel marasma di file modificati mi sia dimenticato qualcosa, anche qui, fatemi sapere tramite i commenti qui sulla pull.
Divertitevi... 🙃