Els exemples que compten per la nota són només els que van seguits de ``# doctesttag: +TAG`` >>> import networkx as nx >>> def crea_graf(n): ... l1 = 'ABCDEFRZWT' ... t1 = [200+x for x,_ in enumerate(l1)] ... l2 = 'GHIJKLA' ... t2 = [100+x for x,_ in enumerate(l2)] ... l3 = 'MNOPQ' ... t3 = [20+x for x,_ in enumerate(l3)] ... l4 = 'NIDXE' ... t4 = [30+x for x,_ in enumerate(l4)] ... l5 = 'RBHNSI' ... t5 = [40+x for x,_ in enumerate(l5)] ... l6 = 'ADJPTUE' ... t6 = [60+x for x,_ in enumerate(l6)] ... g = nx.Graph() ... tmps = [t1, t2, t3, t4, t5, t6] ... linies = [l1, l2, l3, l4, l5, l6] ... for i, lp in enumerate(linies[:n]): ... for j in range(len(lp)-1): ... g.add_edge(lp[j], lp[j+1], linia='R'+str(i+1), temps=tmps[i][j]) ... return g Tests per a parada_mes_propera ------------------------------ >>> from metro4 import parada_mes_propera >>> g = crea_graf(4) >>> parada_mes_propera(g, 'I') # doctesttag: +TAG=1_parada_propera ('N', 30) >>> parada_mes_propera(g, 'A') # doctesttag: +TAG=1_parada_propera ('L', 105) >>> parada_mes_propera(g, 'N') # doctesttag: +TAG=1_parada_propera ('M', 20) >>> parada_mes_propera(g, 'M') # doctesttag: +TAG=1_parada_propera ('N', 20) >>> g2=crea_graf(5) >>> parada_mes_propera(g2, 'E') # doctesttag: +TAG=1_parada_propera ('X', 33) >>> parada_mes_propera(g2, 'I') # doctesttag: +TAG=1_parada_propera ('N', 30) >>> g3=crea_graf(6) >>> parada_mes_propera(g3, 'A') # doctesttag: +TAG=1_parada_propera ('D', 60) >>> parada_mes_propera(g3, 'E') # doctesttag: +TAG=1_parada_propera ('X', 33) >>> parada_mes_propera(g3, 'B') # doctesttag: +TAG=1_parada_propera ('R', 40) >>> parada_mes_propera(g3, 'T') # doctesttag: +TAG=1_parada_propera ('P', 63) Tests per a nombre_de_transbordaments ------------------------------------- >>> from metro4 import nombre_de_transbordaments >>> g1 = crea_graf(2) >>> g2 = crea_graf(4) >>> g3 = crea_graf(6) >>> nombre_de_transbordaments(g3, 'T', 'A') # doctesttag: +TAG=1_transbordaments 3 >>> nombre_de_transbordaments(g3, 'D', 'I') # doctesttag: +TAG=1_transbordaments 0 >>> nombre_de_transbordaments(g3, 'I', 'A') # doctesttag: +TAG=1_transbordaments 1 >>> nombre_de_transbordaments(g3, 'D', 'J') # doctesttag: +TAG=1_transbordaments 0 >>> nombre_de_transbordaments(g2, 'T', 'A') # doctesttag: +TAG=1_transbordaments 2 >>> nombre_de_transbordaments(g2, 'D', 'I') # doctesttag: +TAG=1_transbordaments 0 >>> nombre_de_transbordaments(g2, 'I', 'A') # doctesttag: +TAG=1_transbordaments 0 >>> nombre_de_transbordaments(g2, 'D', 'J') # doctesttag: +TAG=1_transbordaments 1 >>> nombre_de_transbordaments(g1, 'T', 'A') # doctesttag: +TAG=1_transbordaments 0 >>> nombre_de_transbordaments(g1, 'D', 'I') # doctesttag: +TAG=1_transbordaments 1 >>> nombre_de_transbordaments(g1, 'I', 'A') # doctesttag: +TAG=1_transbordaments 0 Tests per a canviar_zeros ------------------------- >>> from substituir import canviar_zeros >>> l1 = [10, 9, 2, 0, 13, 0, 0, 4, 15, 0, 0] >>> l2 = [10, 20, 30, 40] >>> r=canviar_zeros(l1, l2) >>> l1==[10, 9, 2, 10, 13, 20, 30, 4, 15, 40, 0] and r==None # doctesttag: +TAG=2_zeros True >>> l1 = [0, 0, 3, 5] >>> r=canviar_zeros(l1, l2) >>> l1 == [10, 20, 3, 5] and r==None # doctesttag: +TAG=2_zeros True >>> r=canviar_zeros(l1, l1) >>> l1 == [10, 20, 3, 5] and r==None # doctesttag: +TAG=2_zeros True >>> l1 = [0, 1, 0, 5] * 7 >>> l2 = list(range(10, 100, 6)) >>> r= canviar_zeros(l1, l2) >>> l1 == [10, 1, 16, 5, 22, 1, 28, 5, 34, 1, 40, 5, 46, 1, 52, 5, 58, 1, 64, 5, 70, 1, 76, 5, 82, 1, 88, 5] and r==None # doctesttag: +TAG=2_zeros True >>> l1=[10, 1, 20, 30, 0, 1, 50, 60, 70, 1, 80, 90, 10, 1, 20, 30, 40, 1, 50, 60] >>> r=canviar_zeros(l1, l2) >>> l1==[10, 1, 20, 30, 10, 1, 50, 60, 70, 1, 80, 90, 10, 1, 20, 30, 40, 1, 50, 60] and r==None # doctesttag: +TAG=2_zeros True >>> l1 = [0, 1, 0, 1, 1, 0, 0] >>> l3 = [0] * 3 + [2] * 10 >>> r=canviar_zeros(l1, l3) >>> l1 == [0, 1, 0, 1, 1, 0, 2] and r==None # doctesttag: +TAG=2_zeros True >>> r=canviar_zeros(l1, l2) >>> l1==[10, 1, 16, 1, 1, 22, 2] and r==None # doctesttag: +TAG=2_zeros True Tests per a recompte -------------------- >>> import pandas as pd >>> from bd_arbres import recompte >>> df = pd.read_csv('arbres_tst.csv', index_col='Tree_ID') >>> recompte(df, 'Acer platanoides', 5, 10) # doctesttag: +TAG=3_recompte (219, 1550, 7042) >>> recompte(df, 'Betula pendula', 10, 20) # doctesttag: +TAG=3_recompte (235, 360, 160) >>> recompte(df, '', 7, 12) # doctesttag: +TAG=3_recompte (14, 13, 27) >>> recompte(df, 'Sorbus aucuparia', 5, 15) # doctesttag: +TAG=3_recompte (257, 2553, 628) >>> recompte(df, 'Platanus x acerifolia', 5, 15) # doctesttag: +TAG=3_recompte (1, 76, 102) >>> recompte(df.iloc[::3], '', 5, 15) (2, 9, 5) >>> recompte(df, 'Prunus cerasifera', 50, 150) # doctesttag: +TAG=3_recompte (198, 0, 0) >>> recompte(df, 'Prunus cerasifera', 1, 1) # doctesttag: +TAG=3_recompte (0, 1, 197) Tests per a gruixuts -------------------- >>> import pandas as pd >>> from bd_arbres import arbres_gruixuts >>> df = pd.read_csv('arbres_tst.csv', index_col='Tree_ID') >>> s = arbres_gruixuts(df, 2000) >>> list(s.index) # doctesttag: +TAG=3_gruixuts [] >>> list(s.values) # doctesttag: +TAG=3_gruixuts [] >>> s = arbres_gruixuts(df.iloc[:800], 40) >>> list(s.index) # doctesttag: +TAG=3_gruixuts ['> 20.1', '5.1-10', '10.1- 15', '15.1-20'] >>> list(s.values) # doctesttag: +TAG=3_gruixuts [1, 3, 4, 7] >>> s = arbres_gruixuts(df.iloc[100:300], 30) >>> list(s.index) # doctesttag: +TAG=3_gruixuts ['5.1-10', '15.1-20', '10.1- 15'] >>> list(s.values) # doctesttag: +TAG=3_gruixuts [3, 5, 9] >>> s = arbres_gruixuts(df, 750) >>> list(s.index) # doctesttag: +TAG=3_gruixuts ['5.1-10'] >>> list(s.values) # doctesttag: +TAG=3_gruixuts [1]