def test_ordonare_crescatoare_pret(): lista = lista_teste() lista = ordonare_crescatoare_pret(lista) assert get_id(lista[0]) == 5 assert get_id(lista[1]) == 3 assert get_id(lista[2]) == 6 assert get_id(lista[3]) == 4 assert get_id(lista[4]) == 2
def sterge_obiect(lista_obiecte, id): """ Sterge din lista cu obiecte un obiectu cu id-ul dat :param lista_obiecte: lista cu obiecte :param id: id-ul obiectului ce trebuie sters :return: lista cu obiectul dat sters """ return [obiect for obiect in lista_obiecte if get_id(obiect) != id]
def get_by_id(lista_obiecte, id): """ Returnarea obiectului cu id ul dat :param lista_obiecte: lista cu obiecte :param id: id ul obiectului cautat :return: obiectul cu id ul cerut sau None daca nu exista """ for obiect in lista_obiecte: if get_id(obiect) == id: return obiect return None
def mutare_locatie(lista_obiecte, sala_init, sala_fin): """ Muta obiectele dintr-o sala in alta :param lista_obiecte: :param sala_init: sala initiala :param sala_fin: sala in care trebuie sa ajunga obiectele :return: lista modificata """ for obiect in lista_obiecte: if get_locatie(obiect) == sala_init: lista_obiecte = modificare_obiect(lista_obiecte, get_id(obiect), "", "", -1, sala_fin) return lista_obiecte
def modificare_obiect(lista_obiecte, id, nume, descriere, pret, locatie): """ Modifica in lista cu obiecte obiectul cu id-ul dat :param lista_obiecte: lista cu obiecte :param id: id-ul obiectului ce trebuie modificat :param nume: numele modicat sau "" daca nu se modifica :param descriere: descrierea modificata sau "" daca nu se modifica :param pret: pretul modificat sau -1 daca nu se modifica :param locatie: locatie modificata sau "" daca nu se modifica :return: lista cu obiecte in care obiectul cu id-ul dat este modificat """ lista_modificata = [] for obiect in lista_obiecte: if get_id(obiect) == id: obiect_nou = creare_obiect( id, nume if nume != "" else get_nume(obiect), descriere if descriere != "" else get_descriere(obiect), pret if pret != -1 else get_pret(obiect), locatie if locatie != "" else get_locatie(obiect)) lista_modificata.append(obiect_nou) else: lista_modificata.append(obiect) return lista_modificata