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
DiccionariAVLImpl
tal com està indicat a la sol·lució de la PAC2 - afegit comparador
User.CMP_CLAU_VALOR
amb paràmetresClauValor
, tal com elDiccionariAVLImpl
necessita
- augmentat el valor de la constant
ContentManager.P
per tal de complir el requisit de "centenars de milers" - utilització d'una
TaulaDispersio
tal com està indicat a la sol·lució de la PAC2 - implementació de
ContentManagerImpl.getMovie
- utilització d'una
LlistaEncadenada
tal com està indicat a la sol·lució de la PAC2 - implementació del mètode privat
User.posicioPausedMovie
per tal de recuperar la posició d'una pel·lícula en pausa - actualització dels mètodes
User.pauseMovie
,User.pausedMovie
iUser.resumeMovie
(i les seves signatures quan necèssari) amb el nou TAD - actualització dels mètodes
ContentManagerImpl.pausedMovie
iContentManagerImple.resumeMovie
i les seves signatures amb els nous canvis dels mètodes homònims d'User
- millora en el mètode
User.pauseMovie
per 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
ArbreAVL
tal 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.toString
per mostrar les pel·lícules visualitzades - actualitzar
WatchedMovie.toString
per mostrar la data de visualització amb el format esperat als tests
- implementació de
Movie.rating
com a atribut de tipusint
- implementació de
CuaAmbPrioritatActualitzable
per tal d'emmagatzemar les pel·lícules ordenades per rating. Bàsicament és una classe que exténCuaAmbPrioritat
però 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
.