Пример #1
0
def run_new():
    s = create_state()
    us = create_state()
    commands = {
        'adaugare': new_UI_add_tz,
        'print': new_UI_print,
        'stergeri': new_UI_stergeri_section,
        'cautari': new_UI_cautari_section,
        'rapoarte': new_UI_rapoarte_section,
        'undo': new_UI_undo
    }
    while True:
        new_UI_help()
        command = input("Dati comanda: ")
        x = command.split(' ')
        cmd = x[0]
        if cmd == 'exit':
            print("Iesire din aplicatie...")
            return
        if cmd in commands:
            try:
                commands[cmd](s, us, x)
            except ValueError as ex:
                print(str(ex))
        else:
            print("Comanda invalida")
Пример #2
0
def run():
    s = create_state()
    us = create_state()
    commands = {
        'adaugare': UI_add_tz,
        'print': UI_print,
        'stergeri': UI_stergeri_section,
        'cautari': UI_cautari_section,
        'filtrari': UI_filtrari_section,
        'rapoarte': UI_rapoarte_section,
        'undo': UI_undo
    }
    while True:
        UI_help()
        command = input("Dati comanda: ")
        if command == 'exit':
            print("Iesire din aplicatie...")
            return
        if command in commands:
            try:
                commands[command](s, us)
            except ValueError as ex:
                print(str(ex))
        else:
            print("Comanda invalida")
Пример #3
0
def test_add_tz():
    s = create_state()
    s2 = create_state()
    zi = 1
    suma = 100
    tip = 'intrare'
    tz = create_tz(zi, suma, tip)
    add_tz(s, tz)
    add_tz(s2, tz)
    assert (s == s2)
Пример #4
0
def test_sv_el_tz_small_and_type():
    s = create_state()
    s2 = create_state()
    tz1 = create_tz(10, 100, 'intrare')
    add_tz(s, tz1)
    tz2 = create_tz(15, 150, 'iesire')
    add_tz(s, tz2)
    tz3 = create_tz(50, 200, 'intrare')
    add_tz(s, tz3)
    T = 'intrare'
    S = 120
    add_tz(s2, tz2)
    add_tz(s2, tz3)
    assert (sv_el_tz_small_and_type(S, T, s) == s2)
Пример #5
0
def test_sv_tz_tip_ord():
    s = create_state()
    T = 'intrare'
    assert (sv_tz_tip_ord(T, s) == 'Lista este goala!')
    tz1 = create_tz(1, 100, 'intrare')
    add_tz(s, tz1)
    tz2 = create_tz(3, 200, 'intrare')
    add_tz(s, tz2)
    tz3 = create_tz(2, 50, 'iesire')
    add_tz(s, tz3)
    tz4 = create_tz(4, 20, 'iesire')
    add_tz(s, tz4)
    s2 = create_state()
    add_tz(s2, tz1)
    add_tz(s2, tz2)
    assert (sv_tz_tip_ord(T, s) == s2)
Пример #6
0
def test_sv_del_tz_zi():
    s = create_state()
    Z = 2
    assert (sv_del_tz_zi(s, Z) == 'Lista este goala!')
    tz1 = create_tz(1, 100, 'intrare')
    add_tz(s, tz1)
    tz2 = create_tz(1, 200, 'intrare')
    add_tz(s, tz2)
    tz3 = create_tz(2, 50, 'iesire')
    add_tz(s, tz3)
    tz4 = create_tz(2, 20, 'iesire')
    add_tz(s, tz4)
    s2 = create_state()
    add_tz(s2, tz1)
    add_tz(s2, tz2)
    assert (sv_del_tz_zi(s, Z) == s2)
Пример #7
0
def test_undo():
    s = create_state()
    us = create_state()
    tz1 = create_tz(1, 100, 'intrare')
    add_tz(s, tz1)
    us.append(tz1)
    tz2 = create_tz(2, 200, 'iesire')
    add_tz(s, tz2)
    us2 = create_state()
    us2.append(tz1)
    us2.append(tz1)
    us.append(us2.copy())
    s2 = create_state()
    add_tz(s2, tz1)
    del s[:]
    s += sv_undo(s, us).copy()
    assert (us == s2)
Пример #8
0
def test_sv_el_tz_tip():
    s = create_state()
    s2 = create_state()
    tz1 = create_tz(10, 100, 'intrare')
    add_tz(s, tz1)
    tz2 = create_tz(15, 150, 'iesire')
    add_tz(s, tz2)
    tz3 = create_tz(50, 200, 'intrare')
    add_tz(s, tz3)

    add_tz(s2, tz1)
    add_tz(s2, tz3)
    T = 'iesire'
    assert (sv_el_tz_tip(T, s) == s2)

    s2 = create_state()
    add_tz(s2, tz2)
    T = 'intrare'
    assert (sv_el_tz_tip(T, s) == s2)
Пример #9
0
def test_sv_del_tz_tip():
    s = create_state()
    T = 'intrare'
    assert (sv_del_tz_tip(s, T) == 'Lista este goala!')
    tz1 = create_tz(1, 100, 'intrare')
    add_tz(s, tz1)
    tz2 = create_tz(1, 200, 'intrare')
    add_tz(s, tz2)
    tz3 = create_tz(2, 50, 'iesire')
    add_tz(s, tz3)
    tz4 = create_tz(3, 20, 'iesire')
    add_tz(s, tz4)
    s2 = create_state()
    add_tz(s2, tz3)
    add_tz(s2, tz4)
    assert (sv_del_tz_tip(s, T) == s2)
    s3 = create_state()
    T = 'iesire'
    assert (sv_del_tz_tip(s, T) == s3)
Пример #10
0
def sv_el_tz_small_and_type(S,T,s):
    '''
    Functie ce elimina toate tranzactiile de tipul : T mai mici decat suma : S din lista : s
    input : T - up tip, S - o suma, s - lista tranzactiilor
    output : el_list : lista dupa eliminari
    '''
    s2=create_state()
    for tz in s:
        if tz_anumit_tip(tz,T)==False or get_suma(tz)>=S:
            add_tz(s2,tz)
    return s2
Пример #11
0
def sv_el_tz_tip(T,s):
    '''
    Functie ce elimina toate tranzactiile de tipul : T din lista : s
    input - T - tipul dorit, s : lista tranzactiilor
    output : el_list : lista dupa eliminari
    '''
    s2=create_state()
    for tz in s:
        if tz_anumit_tip(tz,T)==False:
            add_tz(s2, tz)
    return s2
Пример #12
0
def test_sv_del_tz_per():
    s = create_state()
    Z1 = 2
    Z2 = 5
    assert (sv_del_tz_per(s, Z1, Z2) == 'Lista este goala!')
    tz1 = create_tz(1, 100, 'intrare')
    add_tz(s, tz1)
    tz2 = create_tz(1, 200, 'intrare')
    add_tz(s, tz2)
    tz3 = create_tz(2, 50, 'iesire')
    add_tz(s, tz3)
    tz4 = create_tz(3, 20, 'iesire')
    add_tz(s, tz4)
    Z1 = 1
    Z2 = 2
    s2 = create_state()
    add_tz(s2, tz4)
    assert (sv_del_tz_per(s, Z1, Z2) == s2)
    Z1 = 2
    Z2 = 1
    assert (sv_del_tz_per(s, Z1, Z2) == s2)
Пример #13
0
def UI_el_tz_tip(s, us):
    while True:
        try:
            T = input("Introduceti tipul: ")
            if T != 'intrare' and T != 'iesire':
                raise Exception("Tip incorect!")
            break
        except Exception as ex:
            print(ex)
    s2 = create_state()
    s2 = sv_el_tz_tip(T, s).copy()
    print('Lista fara tranzactii de tipul ' + T + ' este: ')
    UI_print(s2, us)
Пример #14
0
def sv_undo(s,us):
    if lenght(us)==0:
        return "Can't undo no more"
    elif lenght(us)==1:
        del s[:]
        return s
    else:
        us.pop(len(us)-1)
        s2=create_state()
        s2+=us[lenght(us)-1]
        del s[:]
        s=s2.copy()
        return s
Пример #15
0
def sv_sum_gr8_than(S,s):
    '''
    Functie ce creeaza o lista cu tranzactii din lista : s care
    are tranzactii mai mari decat suma : S
    input - S : suma cu care trebuie comparate tranzactiile, s : lista de tranzactii
    output - gr_list : lista cu tranzactii mai mari decat suma : S
    '''
    if S<0:
        raise ValueError("Suma trebuie sa fie un numar pozitiv!")
    gr8_s=create_state()
    for tz in s:
        if sum_gr8_than(S,tz)==True:
            gr8_s.append(tz)
    return gr8_s
Пример #16
0
def sv_tz_anumit_tip(T,s):
    '''
    Functie ce creeaza o lista cu tranzactii din lista : s care are
    tranzactii de tipul : T
    input - T : tipul dorit, s : lista tranzactiilor
    output : lista de tranzactii de tipul : T
    '''
    #if T!=str('intrare') or T!=str('iesire'):
    #    raise ValueError("Tipul trebuie sa fie 'intrare' sau 'iesire'!")
    tip_s=create_state()
    for tz in s:
        if tz_anumit_tip(tz,T)==True:
            tip_s.append(tz)
    return tip_s
Пример #17
0
def test_sv_sold():
    s = create_state()
    Z = 5
    assert (sv_sold(Z, s) == 'Lista este goala!')
    tz1 = create_tz(1, 100, 'intrare')
    add_tz(s, tz1)
    tz2 = create_tz(3, 200, 'intrare')
    add_tz(s, tz2)
    tz3 = create_tz(2, 50, 'iesire')
    add_tz(s, tz3)
    tz4 = create_tz(4, 20, 'iesire')
    add_tz(s, tz4)
    assert (sv_sold(Z, s) == 230)
    Z = 2
    assert (sv_sold(Z, s) == 50)
Пример #18
0
def UI_el_tz_small_and_type(s, us):
    while True:
        try:
            T = input("Introduceti tipul: ")
            S = input("Introduceti suma: ")
            if T != 'intrare' and T != 'iesire':
                raise Exception("Tip incorect!")
            S = float(S)
            break
        except Exception as ex:
            print(ex)
    s2 = create_state()
    s2 = sv_el_tz_small_and_type(S, T, s).copy()
    print('Lista fara tranzactii de tipul ', T, ' si mai mici decat ', S,
          ' este: ')
    UI_print(s2, us)
Пример #19
0
def test_sv_sum_tip():
    s = create_state()
    T = 'intrare'
    assert (sv_sum_tip(T, s) == 'Lista este goala!')
    tz1 = create_tz(10, 100, 'intrare')
    add_tz(s, tz1)
    T = 'iesire'
    assert (sv_sum_tip(T, s) == 0)
    tz2 = create_tz(15, 150, 'iesire')
    add_tz(s, tz2)
    tz3 = create_tz(50, 200, 'intrare')
    add_tz(s, tz3)
    T = 'intrare'
    assert (sv_sum_tip(T, s) == 300)
    T = 'iesire'
    assert (sv_sum_tip(T, s) == 150)
Пример #20
0
def new_UI_stergeri_section(s, us, x):
    s2 = create_state()
    if s == s2:
        print("Lista este goala!")
        return
    commands = {"1": UI_del_tz_zi, "2": UI_del_tz_per, "3": UI_del_tz_tip}
    while True:
        UI_help_stergeri_section()
        command = input("Dati comanda: ")
        if command == "return":
            print("Iesire din sectiunea de stergeri...")
            return
        if command in commands:
            commands[command](s, us)
        else:
            print("Comanda invalida!")
Пример #21
0
def new_UI_rapoarte_section(s, us, x):
    s2 = create_state()
    if s == s2:
        print("Lista este goala")
        return
    commands = {"1": UI_sum_tip, "2": UI_sold, "3": UI_tz_tip_ord}
    while True:
        UI_help_rapoarte_section()
        command = input("Dati comanda: ")
        if command == "return":
            print("Iesire din sectiunea de rapoarte...")
            return
        if command in commands:
            commands[command](s, us)
        else:
            print("Comanda invalida!")
Пример #22
0
def sv_b4_day_gr8_than(S,Z,s):
    '''
    Functie ce creeaza o lista cu tranzactii din lista : s care
    are tranzactii cu suma mai mare decat suma : S si cu ziua mai mare decat ziua : Z
    input - S : suma cu care trebuie comparate tranzactiile, Z : ziua cu care trebuie comparate tranzactiile,
    s : lista de tranzactii
    output - b4_gr_list : lista care are tranzactii cu suma mai mare decat suma : S si cu ziua mai mare decat ziua : Z
    '''
    if S<0:
        raise ValueError("Suma trebuie sa fie un numar pozitiv!")
    if Z<=0:
        raise ValueError("Ziua trebuie sa fie un numar pozitiv!")
    b4_gr8_s=create_state()
    for tz in s:
        if b4_day_gr8_than(S, Z, tz)==True:
            b4_gr8_s.append(tz)
    return b4_gr8_s
Пример #23
0
def sv_tz_tip_ord(T,s):
    '''
    Functie ce tipareste toate tranzactiile de un anumit tip, ordonate dupa suma
    input : T - un tip, s - lista tranzactiilor
    output : s3 - lista tranzactiilor de un anumit tip
    '''
    if lenght(s)==0:
        return 'Lista este goala!'
    s2=s.copy() 
    for i in range(0,lenght(s2)-1,1):
        for j in range(i+1,lenght(s2),1):
            if get_suma(s2[i])>get_suma(s2[j]):
                s2[i],s2[j]=s2[j],s2[i]
    s3=create_state()
    for tz in s2:
        if get_tip(tz)==T:
            add_tz(s3, tz)
    return s3
Пример #24
0
def add_undo(s,us):
    s2=create_state()
    s2=s.copy()
    us.append(s2.copy())