def EJ4_8(): s="Hay canciones pero no playlists" try: d1, d2 = {"1": 1, "2" : 10, "3" : 100}, {}; g1, g2 = dict(d1), dict(d2); good_res = WD_duracion_playlist(d1, d2); errors = [] res = duracion_playlist(d1, d2) if res != good_res: errors.append("RESPUESTA ERRONEA") if d1 != g1 or d2 != g2: errors.append("REFERENCIA MODIFICADA") test.print_test_motivo(s, errors) except Exception as err: test.error_by_except(s,err)
def EJ4_9(): s="Mismas playlists pero canciones in diferente orden" try: d1, d2 = {"A": 1, "B" : 10, "C" : 100}, {"1" : ["A", "B", "C"], "2" : ["A", "C", "B"],"2" : ["B", "A", "C"],"4" : ["B", "C", "A"],"5" : ["C", "A", "B"],"6" : ["C", "B", "A"],}; g1, g2 = dict(d1), dict(d2); good_res = WD_duracion_playlist(d1, d2); errors = [] res = duracion_playlist(d1, d2) if res != good_res: errors.append("RESPUESTA ERRONEA") if d1 != g1 or d2 != g2: errors.append("REFERENCIA MODIFICADA") test.print_test_motivo(s, errors) except Exception as err: test.error_by_except(s,err)
def EJ4_6(): s="Una cancion y una playlist tienen como nombre el string vacio" try: d1, d2 = {"": 1, "1" : 1}, {"" : [], "1" : [""], "2" : ["1"], "3" : ["1", ""]}; g1, g2 = dict(d1), dict(d2); good_res = WD_duracion_playlist(d1, d2); errors = [] res = duracion_playlist(d1, d2) if res != good_res: errors.append("RESPUESTA ERRONEA") if d1 != g1 or d2 != g2: errors.append("REFERENCIA MODIFICADA") test.print_test_motivo(s, errors) except Exception as err: test.error_by_except(s,err)
def EJ4_4(): s="3 canciones, 8 playlist, se analizan las 8 posibilidades" try: d1, d2 = {"1": 1, "2" : 10, "3" : 100}, {"1" : [], "2" : ["1"], "3" : ["2"], "4" : ["2", "1"], "5" : ["3"], "6" : ["3", "1"], "7" : ["3", "2"], "8": ["3", "2", "1"]}; g1, g2 = dict(d1), dict(d2); good_res = WD_duracion_playlist(d1, d2); errors = [] res = duracion_playlist(d1, d2) if res != good_res: errors.append("RESPUESTA ERRONEA") if d1 != g1 or d2 != g2: errors.append("REFERENCIA MODIFICADA") test.print_test_motivo(s, errors) except Exception as err: test.error_by_except(s,err)
def EJ4_3(): s="Una cancion, una playlist, la cancion no forma parte de la playlist" try: d1, d2 = {"1": 1}, {"1" : []}; g1, g2 = dict(d1), dict(d2); good_res = WD_duracion_playlist(d1, d2); errors = [] res = duracion_playlist(d1, d2) if res != good_res: errors.append("RESPUESTA ERRONEA") if d1 != g1 or d2 != g2: errors.append("REFERENCIA MODIFICADA") test.print_test_motivo(s, errors) except Exception as err: test.error_by_except(s,err)
def EJ4_1(): s="Los dos diccionarios vacios" try: d1, d2 = {}, {}; g1, g2 = dict(d1), dict(d2); good_res = WD_duracion_playlist(d1, d2); errors = [] res = duracion_playlist(d1, d2) if res != good_res: errors.append("RESPUESTA ERRONEA") if d1 != g1 or d2 != g2: errors.append("REFERENCIA MODIFICADA") test.print_test_motivo(s, errors) except Exception as err: test.error_by_except(s,err)
def EJ4_5(): s="1000 canciones, cada una aparece o no en 0/1/muchas playlists al azar" try: d1 = {} for i in range(1,1000): d1[str(i)] = i d2 = {"0" : [], "1" : [], "2" : [], "3" : [], "4" : []} for i in range(1,1000): stri = str(i) if bool(random.getrandbits(1)): d2["0"].append(stri) if bool(random.getrandbits(1)): d2["1"].append(stri) if bool(random.getrandbits(1)): d2["2"].append(stri) if bool(random.getrandbits(1)): d2["3"].append(stri) if bool(random.getrandbits(1)): d2["4"].append(stri) g1, g2 = dict(d1), dict(d2); good_res = WD_duracion_playlist(d1, d2); errors = [] res = duracion_playlist(d1, d2) if res != good_res: errors.append("RESPUESTA ERRONEA") if d1 != g1 or d2 != g2: errors.append("REFERENCIA MODIFICADA") test.print_test_motivo(s, errors) except Exception as err: test.error_by_except(s,err)