-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathllegiume.txt
60 lines (38 loc) · 3.31 KB
/
llegiume.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Pàctica Tardor 2017 - Oscar Chic Farré
## Introducció
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](https://github.com/ochicf/DED-Practica)
En cas de no sigui un lliurable vàlid per ésser corregit, he descrit els canvis i els testos a continuació.
## Canvis de disseny respecte PAC1 i PAC2
### Usuaris
- 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àmetres `ClauValor`, tal com el `DiccionariAVLImpl` necessita
### Pel·lícules
- 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`
### Pel·lícules en pausa
- 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` i `User.resumeMovie` (i les seves signatures quan necèssari) amb el nou TAD
- actualització dels mètodes `ContentManagerImpl.pausedMovie` i `ContentManagerImple.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
### Pel·lícules vistes
- 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
### Valoracions
- implementació de `Movie.rating` com a atribut de tipus `int`
- implementació de `CuaAmbPrioritatActualitzable` per tal d'emmagatzemar les pel·lícules ordenades per rating. Bàsicament és una classe que extén `CuaAmbPrioritat` però que sobreescriu el mètode `encuar`: 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`
## Tests
### Tests proporcionats per l'enunciat (in2.txt)
El resultat dels testos proporcionats és l'arxiu `out2.txt`.
### Tests afegits (in3.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`.