def sv_add_tz(s,zi,suma,tip): ''' Functie ce creeaza o tranzactie pe baza parametrilor, o valideaza si o adauga in lista : s ''' tz=create_tz(zi,suma,tip) valid_tz(tz) add_tz(s,tz)
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)
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
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
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)
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
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)
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)
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)
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)
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)
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)
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)
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)