He creat un repositori git per realitzar la pràctica que he pujat a GitHub com a eina addicional. He intentat seguir un ordre lògic i he anat realitzant explicacions a mesura que anava fent commits.
Per tant, crec que pot resultar força aclaridor i una manera de facilitar la feina de correcció al poder veure directament els canvis que he anat fent sobre el codi proporcionat a l'enunciat.
Repositori: ochicf/DED-Practica
En cas de no sigui un lliurable vàlid per ésser corregit, he descrit els canvis i els testos a continuació.
- eliminació de la constant
ContentManager.U - utilització d'un
DiccionariAVLImpltal com està indicat a la sol·lució de la PAC2 - afegit comparador
User.CMP_CLAU_VALORamb paràmetresClauValor, tal com elDiccionariAVLImplnecessita
- augmentat el valor de la constant
ContentManager.Pper tal de complir el requisit de "centenars de milers" - utilització d'una
TaulaDispersiotal com està indicat a la sol·lució de la PAC2 - implementació de
ContentManagerImpl.getMovie
- utilització d'una
LlistaEncadenadatal com està indicat a la sol·lució de la PAC2 - implementació del mètode privat
User.posicioPausedMovieper tal de recuperar la posició d'una pel·lícula en pausa - actualització dels mètodes
User.pauseMovie,User.pausedMovieiUser.resumeMovie(i les seves signatures quan necèssari) amb el nou TAD - actualització dels mètodes
ContentManagerImpl.pausedMovieiContentManagerImple.resumeMoviei les seves signatures amb els nous canvis dels mètodes homònims d'User - millora en el mètode
User.pauseMovieper evitar repeticions de pel·lícules pausades: quan s'intenta pausar una pel·lícula que ja es troba en la llista de pel·lícules pausades se n'actualitza el minut enlloc de tornar-la afegir
- utilització d'un
ArbreAVLtal com està indicat a la sol·lució de la PAC2 - actualitzar comparador per tal que es llistin de forma ascendent
- implementació de
ContentManagerImpl.getWatchedMovie - actualitzar
User.toStringper mostrar les pel·lícules visualitzades - actualitzar
WatchedMovie.toStringper mostrar la data de visualització amb el format esperat als tests
- implementació de
Movie.ratingcom a atribut de tipusint - implementació de
CuaAmbPrioritatActualitzableper tal d'emmagatzemar les pel·lícules ordenades per rating. Bàsicament és una classe que exténCuaAmbPrioritatperò que sobreescriu el mètodeencuar: comprova si l'element a encuar ja es troba dins de la cua i, en cas que així sigui, la reordena - implementació de
ContentManagerImpl.rateMovie - implementació de
ContentManagerImpl.bestRated
El resultat dels testos proporcionats és l'arxiu out2.txt.
He afegit un seguit de testos a l'arxiu in3.txt amb les funcionalitats o casos que creia convenient testejar i que no estàven recollits en els tests proporcionats. Cada test té una petita descripció en format de comentari al mateix arxiu de test.
El resultat dels testos es troba a out3.txt.