def test_mutare_locatie():
    lista = lista_teste()
    lista = mutare_locatie(lista, "SiMP", "P5S2")

    assert get_locatie(get_by_id(lista, 3)) == "P5S2"
    assert get_locatie(get_by_id(lista, 4)) == "P5S2"
    assert get_locatie(get_by_id(lista, 2)) == "P2S1"
    assert get_locatie(get_by_id(lista, 5)) == "P851"
    assert get_locatie(get_by_id(lista, 6)) == "P851"
Exemplo n.º 2
0
def cel_mai_mare_pret_per_locatie(lista_obiecte):
    """
    Returneaza o lista de dictionare care contin locatia si pretul maxim de la acea locatie

    :param lista_obiecte: lista de obiecte
    :return: lista de dictionare de forma de mai sus
    """
    dictionar = []
    for obiect in lista_obiecte:
        if cautare_locatie(dictionar, get_locatie(obiect)) == False:
            dictionar.append({
                "locatie": get_locatie(obiect),
                "pret_maxim": get_pret(obiect)
            })
        else:
            if pret_locatie(dictionar, get_locatie(obiect)) < get_pret(obiect):
                for d in dictionar:
                    if d["locatie"] == get_locatie(obiect):
                        d["pret_maxim"] = get_pret(obiect)
    return dictionar
Exemplo n.º 3
0
def suma_preturi_per_locatie(lista_obiecte):
    """
    Returneaza o lista cu dictionare de forma locatie si suma preturilor obiectelor de la locatie

    :param lista_obiecte: lista obiectelor
    :return: lista de dictionare cu sumele cerute
    """
    dictionar = []
    for obiect in lista_obiecte:
        if cautare_locatie(dictionar, get_locatie(obiect)) == False:
            dictionar.append({
                "locatie": get_locatie(obiect),
                "suma_preturi": get_pret(obiect)
            })
        else:
            for d in dictionar:
                if d['locatie'] == get_locatie(obiect):
                    d["suma_preturi"] += get_pret(obiect)
    for d in dictionar:
        d["suma_preturi"] = round(d["suma_preturi"], 2)
    return dictionar
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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