-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathacademia.wlk
31 lines (23 loc) · 792 Bytes
/
academia.wlk
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
import cosa.*
import mueble.*
/** Reemplazar por la solución del enunciado */
class Academia {
const property muebles = #{}
//haya al menos un mueble donde se pueda guardar
method puedeGuardar(cosa) {
return (not self.estaGuardada(cosa)) and self.hayAlgunMuebleParaGuardar(cosa)
}
method hayAlgunMuebleParaGuardar(cosa) {
return muebles.any({mueble => mueble.puedeGuardar(cosa)})
}
method dondeEsta(cosa) {
return muebles.find({mueble => mueble.validarSiEstaGuardada(cosa)})
}
method estaGuardada(cosa) {
return muebles.any({mueble => mueble.validarSiEstaGuardada(cosa)})
}
method mueblesDisponibles(cosa) {
return muebles.filter({mueble => mueble.puedeGuardar(cosa)})
}
}
//ACADEMIA TAMBIEN PUEDE SER UN OBJETO TAMBIEN YA QUE EN ESTE CASO PARTICULAR NO ES RE