gen_stops --------- >>> from bus import gen_stops_D >>> d = { ... (771, 'L'): ('Vi', 1, 3, 'A'), ... (122, 'D'): ('Ba', 1, 4, 'O'), ... (563, 'P'): ('Lo', 2, 4, 'O'), ... (444, 'N'): ('Pe', 1, 1, 'A'), ... (765, 'P'): ('Es', 1, 2, 'A'), ... } >>> dcorr = { ... 'A' : ['Vi', 'Pe', 'Es'], ... 'O': ['Ba', 'Lo'], ... } >>> dsol = gen_stops_D(d) >>> len(dsol) == 2 and dsol == dcorr # doctesttag: +TAG=1_gen_stops True >>> d = { ... (771, 'L'): ('Vi', 1, 3, 'O'), ... (122, 'D'): ('Ba', 10, 4, 'O'), ... (563, 'P'): ('Lo', 3, 4, 'O'), ... (444, 'N'): ('Pe', 2, 1, 'O'), ... (765, 'P'): ('Es', 5, 2, 'O'), ... } >>> dsol = gen_stops_D(d) >>> len(dsol) == 1 and dsol == {'O' : ['Vi', 'Ba', 'Lo', 'Pe', 'Es'],} # doctesttag: +TAG=1_gen_stops True >>> d = { ... (771, 'L'): ('Vi', 1, 3, 'LC'), ... (122, 'D'): ('Pe', 10, 4, 'A'), ... (563, 'P'): ('Lo', 3, 4, 'SantaC'), ... (444, 'N'): ('Ba', 2, 1, 'Les Planes'), ... (765, 'P'): ('Co', 5, 2, 'Sant Feliu'), ... } >>> dsol = gen_stops_D(d) >>> len(dsol) == 5 and dsol == {'LC': ['Vi'], 'A': ['Pe'], 'SantaC': ['Lo'], 'Les Planes': ['Ba'], 'Sant Feliu': ['Co']} # doctesttag: +TAG=1_gen_stops True >>> d = {} >>> dsol = gen_stops_D(d) >>> len(dsol) == 0 and dsol == {} # doctesttag: +TAG=1_gen_stops True sort_stops ---------- >>> from bus import sort_stops_D >>> d = { ... 'A' : ['Vi', 'Pe', 'Es'], ... 'O': ['Lo', 'Ba'], ... } >>> sort_stops_D(d) >>> dcorr = { ... 'A' : ['Es', 'Pe', 'Vi'], ... 'O': ['Ba', 'Lo']} >>> d == dcorr # doctesttag: +TAG=2_sort_stops True >>> d = {'O' : ['Vi', 'Ba', 'Lo', 'Pe', 'Es']} >>> sort_stops_D(d) >>> dcorr = {'O' : ['Ba', 'Es', 'Lo', 'Pe', 'Vi']} >>> d == dcorr # doctesttag: +TAG=2_sort_stops True >>> d = { ... 'A': ['Vilu', 'Vi', 'Vil', ''], ... 'O': ['Lopez', 'Lolo', 'Lo'], ... } >>> sort_stops_D(d) >>> dcorr = { ... 'A': ['', 'Vi', 'Vil', 'Vilu'], ... 'O': ['Lo', 'Lolo', 'Lopez'], ... } >>> d == dcorr # doctesttag: +TAG=2_sort_stops True >>> d = {} >>> sort_stops_D(d) >>> dcorr = {} >>> d == dcorr # doctesttag: +TAG=2_sort_stops True upd_dest -------- >>> from bus import upd_dest_D >>> d = { ... (771, 'L'): ('Vi', 1, 3, 'A'), ... (122, 'D'): ('Ba', 1, 4, 'O'), ... (563, 'P'): ('Lo', 2, 4, 'O'), ... (444, 'N'): ('Pe', 1, 1, 'A'), ... (765, 'P'): ('Es', 1, 2, 'A'), ... } >>> res = upd_dest_D(d, 'Vi', 'O') >>> dref = { ... (122, 'D'): ('Ba', 1, 4, 'O'), ... (563, 'P'): ('Lo', 2, 4, 'O'), ... (444, 'N'): ('Pe', 1, 1, 'A'), ... (765, 'P'): ('Es', 1, 2, 'A'), ... (771, 'L'): ('Vi', 1, 3, 'O'), ... } >>> res == ((771, 'L'), 'O') and d == dref # doctesttag: +TAG=3_upd_dest True >>> res = upd_dest_D(d, 'Sanchez', 'O') >>> res == ((), 'O') and d == dref # doctesttag: +TAG=3_upd_dest True >>> res = upd_dest_D(d, 'Vi', 'LC') >>> dref = { ... (122, 'D'): ('Ba', 1, 4, 'O'), ... (563, 'P'): ('Lo', 2, 4, 'O'), ... (444, 'N'): ('Pe', 1, 1, 'A'), ... (765, 'P'): ('Es', 1, 2, 'A'), ... (771, 'L'): ('Vi', 1, 3, 'LC')} >>> res == ((771, 'L'), 'LC') and d == dref # doctesttag: +TAG=3_upd_dest True >>> res = upd_dest_D(d, 'Lo', 'Ang') >>> dref = { ... (122, 'D'): ('Ba', 1, 4, 'O'), ... (563, 'P'): ('Lo', 2, 4, 'Ang'), ... (444, 'N'): ('Pe', 1, 1, 'A'), ... (765, 'P'): ('Es', 1, 2, 'A'), ... (771, 'L'): ('Vi', 1, 3, 'LC')} >>> res == ((563, 'P'), 'Ang') and d == dref # doctesttag: +TAG=3_upd_dest True >>> d1 = {} >>> res = upd_dest_D(d1, 'Sanchez', 'O') >>> res == ((), 'O') and d1 == {} # doctesttag: +TAG=3_upd_dest True sort_pass --------- >>> from bus import sort_pass_L >>> d = { ... (322, 'K'): ('Tulsa', 2, 1, 'O'), ... (771, 'L'): ('Vi', 2, 3, 'A'), ... (122, 'D'): ('Ba', 1, 4, 'O'), ... (563, 'P'): ('Lo', 2, 4, 'O'), ... (444, 'N'): ('Pe', 1, 1, 'A'), ... (765, 'P'): ('Es', 1, 2, 'A')} >>> lcorr = [ ... ('Vi', 2, 3, 'A'), ... ('Es', 1, 2, 'A'), ... ('Pe', 1, 1, 'A'), ... ('Lo', 2, 4, 'O'), ... ('Tulsa', 2, 1, 'O'), ... ('Ba', 1, 4, 'O')] >>> sort_pass_L(d) == lcorr # doctesttag: +TAG=4_sort_pass True >>> d = {(771, 'L'): ('Vi', 1, 3, 'A'), (122, 'D'): ('Ba', 1, 4, 'O'), (563, 'P'): ('Lo', 2, 4, 'O'), (444, 'N'): ('Pe', 1, 1, 'A'), (765, 'P'): ('Es', 1, 2, 'A')} >>> sort_pass_L(d) # doctesttag: +TAG=4_sort_pass [('Es', 1, 2, 'A'), ('Pe', 1, 1, 'A'), ('Vi', 1, 3, 'A'), ('Lo', 2, 4, 'O'), ('Ba', 1, 4, 'O')] >>> d = { ... (322, 'K'): ('Tulsa', 1, 1, 'Girona'), ... (771, 'L'): ('Vi', 2, 3, 'Girona'), ... (122, 'D'): ('Ba', 1, 4, 'Girona'), ... (563, 'P'): ('Lo', 2, 4, 'Girona'), ... (444, 'N'): ('Pe', 1, 1, 'Girona'), ... (765, 'P'): ('Es', 1, 2, 'A')} >>> sort_pass_L(d) # doctesttag: +TAG=4_sort_pass [('Es', 1, 2, 'A'), ('Lo', 2, 4, 'Girona'), ('Vi', 2, 3, 'Girona'), ('Ba', 1, 4, 'Girona'), ('Pe', 1, 1, 'Girona'), ('Tulsa', 1, 1, 'Girona')] >>> d = {} >>> sort_pass_L(d) # doctesttag: +TAG=4_sort_pass [] ------------------------------------------